디자인 패턴 - 퍼사드 패턴(Facade pattern)

퍼사드 패턴

정의 : 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공한다. 고수준 인터페이스를 정의한다.

클라이언트를 복잡한 서브시스템과 분리시켜주는 역할을 한다.
구성을 통해 퍼사드에서 서브시스템에 있는 모든 구성요소에 접근할 수 있게끔 한다.
퍼사드 클래스는 서브시스템 클래스들을 캡슐화하지 않는다. 그냥 서브시스템 클래스의 기능을 사용할 수 있는 간단한 인터페이스만 제공한다.

어댑터 패턴은 인터페이스를 변경해서 클라이언트에서 필요로 하는 인터페이스로 적응시키기 위한 용도.
퍼사드 패턴은 어떤 서브시스템에 대한 간단한 인터페이스를 제공.

예시:
SubSystemOne, SubSystemTwo, SubSystemThree
AFacade{ DoSomething(){ SubSystemOne.Do1(); SubSystemTwo.Do2(); SubSystemThree.Do3(); }
Client.AFacade.DoSomething(); // All subsystem of facade do their job.

댓글

이 블로그의 인기 게시물

디자인 패턴 - 더티 플래그(Dirty flag)

디자인 패턴 - 서비스 중개자 패턴(Service locator pattern)

인공지능 - 유한 상태 기계(Finite state machine)