엔진을 사용할때 전체 다 알 필요 없이 요약된 필요한 것들을 모아놓은것이 있으면 그것만 알면 대부분

 

돌릴 수 있다 하면 그런 중간자가 있다면 편할 것이다 그 중간자를 가르켜 Facade 패턴이라 하며

 

만약 엔진이 플렛폼 별로 다르고 다르다, 환경별로 facade 도 달라져야 한다면

 

Facade를 Abstract base class 로 만들어 상속 구조로 제공 할 수도 있다

 


 

 

서브시스템내의 객체를 변경 시키는 방법은 ?

 

Facade 생성시 Facade 에 서브시스템내의 객체를 연결 시켜준다

 

 

 


 

 

 

그런데 Abstract Factory 패턴으로 Facade 패턴을 대신해서 플렛폼 별 엔진 클래스들을 생성할 수 있지만

 

Abstract Factory 패턴을 쓰지 않는 다고 하면

 

Abstract base class 로 이루어진 Facade 패턴의 해당 플렛폼에 엔진 내부의 서브시스템을 복제(prototype) 해서 Facade 에 넘겨 줘서

 

Facade 가 서브 시스템을 사용 하게 할 수도 있다

 

(엔진의 내부 서브 시스템 이므로 클라이언트 단에서 엔진 내부를 변경 하는 것을 일반적으로 허용 하지 않으므로 복제해서 넘긴다)

 

반응형

'디자인패턴과방법론 > 디자인패턴' 카테고리의 다른 글

Proxy 패턴  (0) 2012.11.02
flyweight 패턴  (0) 2012.11.02
Decorator(=wrapper) 패턴  (0) 2012.11.02
composite 패턴  (0) 2012.11.02
Bridge 패턴  (0) 2012.11.02

+ Recent posts