응용 프로그램 기능 :
많은 복잡하고 작은 기능이 호출 요구 사항을 요구하는 경우, 이러한 통화는 종종 어느 정도의 상관 관계가 있습니다. 즉, 하나의 호출은 시리즈입니다.
구조적 특성 :
원래 복잡하고 수많은 전화를 입력 클래스로 계획하고 통합 한 다음 지금 부터이 항목을 통해서만 전화 할 수 있습니다.
코드 구조 예 :
클래스 moduleOne (객체) : 인쇄 '인쇄'인스턴스 제작 '인스턴스 삭제'DEF 삭제 : 인쇄 '인쇄'모듈 삭제 ONE MODULETWO (객체) : DEF CREATE (SELF) 작성 'MODULE CREATE'MODULE 2 인스턴스 'DEF DELETE (SELF) : 인쇄'DELETE 'DELETE'DELETE DELETE DELETE 'DELETE'CLASS FARSADE (객체) : SELF.MODULE = SELFOM.MOD. = moduletwo () def create_module_one (self) : self.module_one.create () def create_module_two (self) : self.module_two.create () def create_both (self) : self.module_one.create () self.module_two.create (def delete_one) self.module_one.delete () def delete_module_two (self) : self.module_two.delete () def delete_both (self) : self.module_one.delete () self.module_two.delete ()
프록시 모드와 약간 유사합니다. 차이점은 외관 모드가 서브 시스템의 각 모듈의 기능을 프록시 할뿐만 아니라 서브 시스템의 관점에서도 서 있으며 서브 시스템의 각 모듈의 기능을 결합하여 외부 세계에 대한 더 높은 수준의 인터페이스를 제공하여 서브 시스템 레벨의 요구를 반으로 충족시킵니다.
시스템 기능이 계속 확장됨에 따라 시스템을 여러 서브 시스템 또는 서브 모듈로 나누어 커플 링을 줄이고 시스템 코드 복잡성을 줄이며 유지 관리 가능성을 향상시켜야 할 때 프록시 모드는 일반적으로 고유 한 장점이 있습니다.
다른 예를 살펴 보겠습니다.
class small_or_piece1 : def __init __ (self) : pass def do_small1 (self) : print 'do small 1'class small_or_piece_2 : def __init __ (self) : pass def do_small2 (self) : print 'do small'class small_or_3 : def __init __ (self _small) __init __ (self) : self .__ small1 = small_or_piece1 () self .__ small2 = small_or_piece_2 () self3 = small_or_piece_3 () def method1 (self) : self .__ small1.do_small1 () ## 여기에 호출되는 두 개의 함수가 있으면 기능이 표시됩니다. 원래 복잡한 기능 호출 관계를 지우고 self .__ small2.do_small2 () def method2 (self) : self .__ small2.do_small2 () self .__ small3.do_small3 () if __name__ == '__main__': osd = outde () osd.method1 () osd.method2 ().
결과:
작은 1을 do do small 2 do small 2 do small 3