디자인 패턴 - 에이전트 모델 및 실내 장식

첫째, 프록시 모드

    프록시 모드는 다수의 인기있는 오픈 소스 소프트웨어의 매우 높은 주파수를 사용하는 모드, 그리고 잘 알려진 인터넷 제품 데몬이 적용되는 현재의 배수이다.

    이 오브젝트의 제어에 대한 액세스 및 제어하는 것을 목적으로하기위한 에이전트를 제공 : 프록시 모드는 다음과 같이 정의된다. 사용 프록시 모드는, 추상적 인 주제 클래스 에이전트에 시도, 너무 수정 및 서브 에이전트의 방법을 추가하지 않으려 고한다.
f1.png
    JAVA에서 프록시 모드를 언급 동적 프록시는 언급하지 않는다. 동적 프록시 AOP (관점 지향 프로그래밍) 그것이 달성 달성하는 중요한 수단이다. 파이썬에서, 동적 프록시는 거의 언급하지 않지만 AOP는 다른 모드에서 실현됩니다 장식 패턴입니다. 관련 콘텐츠 AOP를 들어, 우리는이 부분 장식 패턴 설명한다.

모드의 장점과 응용 시나리오 프록시

장점 :
1, 명확한 책임 : 단일 책임의 원칙에 매우 일관성이 테마가 완료 에이전트에, 오히려 업무의 업무보다는 실제 비즈니스 로직을 달성하기 위해 객체,
2, 확장 성 : 오브젝트의 얼굴은 변화의 대상이 될 수 있습니다, 프록시 모드 외부 인터페이스를 변경하지 않고는 확장의 큰 정도를 달성 할 수 있으며,
(3), 처리 로직되도록하여 물체에 관한 : 검사 파라미터로서 프록시 프로세싱 로직 입력이 원하는 범위 내에서 객체 관련되도록.
시나리오 :
1, 기능 향상 및 특정 개체에 대한 확장. 방화벽, 원격 액세스 에이전트 및 다른 기술과 같은 IP 애플리케이션,
객체의 주제에 2, 보호합니다. 이러한 큰 흐름 에이전트, 보안 요원, 기타로,
3, 부하 테마 객체를 줄일 수 있습니다. 이러한 권리와 다른 에이전트로.

프록시 모드 단점

도 1은 전반적으로 기업의 처리 효율 및 속도를 감소시킬 수있다.



둘째, 실내 장식

    동적 객체에 추가적인 책임을 추가 : 다음과 같이 장식이 정의된다. 기능면에서의 증가는 데코레이터 패턴은 서브 클래스보다 더 유연하다.
f1.png
    장식과 프록시 모드에 온다 동일한 인터페이스, 프로세스의 다른 점은 클래스의 주제에 초점을 맞추고이 두 가지 공통점이, 데코레이터 패턴은 특별한 응용 프로그램 프록시 모드입니다 믿고, 매우 유사하다 제어 및 장식 패턴은 강화 또는 클래스 기능의 약화에 초점을 맞추고있다.
    JAVA 동적 프록시 모드 AOP를 달성하는 중요한 수단으로 언급했다. 그리고 파이썬에서, AOP는 장식 패턴보다 단순함과 편리함을 얻을 수 있습니다.
    먼저 AOP 무엇을 설명합니다. 즉 AOP Aspect 지향적 인 프로그래밍, 측면 지향 프로그래밍의 중국어 번역, 그것은 의미로 해석 될 수 있습니다 몇 가지 논리적 인 이상의 프로세스 (예 : 논리의 프로세스가 다른 개체에있을 수 있습니다, 서로 다른 인터페이스 중) 경우, 중복 운영 동작, 이러한 행동은 통합 관리 및 유지 보수를 위해 (즉, 형성 부) 추출 할 수 있습니다. 예를 들어 아들이 시스템은 다양한 장소에서 로그를 인쇄 할 필요가 말했다 들어, 통합 유지 보수 섹션으로,이 작업 밖으로 인쇄 로그를 추출 할 수 있습니다.
    아이디어는 AOP 및 OOP (객체 지향 프로그래밍)이 병렬 관계로 간주 될 수있는 프로그래밍의 관계의 관점에서, 둘은 함께 결합 될 수 있으며, 교환한다. 사실, 파이썬 언어, 그것은 자연적인 지원이 장식하다


데코레이터 장점과 시나리오

장점 :
1, 장식 상속의 대안 모드, 확장 할 수있는 경량 장식 개체 기능이며,
2, 파이썬 데코레이터 패턴은 서로 다른 통화 사이트에서 동일한 작업을 용이하게하기 위해, AOP를 달성하는 방법입니다 통합 관리.
시나리오 :
1 일 필요는 향상된 확장 또는 본 실시 예에서와 같이, 클래스의 기능을 감소한다.

단점 데코레이터 패턴

1, 시운전 및 다층 장식의 유지 보수가 더 어려움이있다.



분류 : Python-- 디자인 패턴

추천

출처www.cnblogs.com/lz1996/p/11971042.html