FACADE 퍼사드
-복잡한 서브클래스들을 인터페이스를 통해 쉽게 사용 가능하도록 함. 종속성 최소화.
-퍼사드를 창구라고도 하며, 창구를 만들어 인터페이스를 모아 둔다.
class SubSystemA{ public: void operation() { cout << "SubSystemA Operation" << endl;} }; class SubSystemB{ public: void operation() { cout << "SubSystemB Operation" << endl;} }; class SubSystemC{ public: void operation() { cout << "SubSystemC Operation" << endl;} }; class Facade{ public: Facade(SubSystemA* a , SubSystemB* b, SubSystemC* c) : SysteamA(a), SysteamB(b), SysteamC(c) {} void operation() { SysteamA->operation(); SysteamB->operation(); SysteamC->operation(); } private: SubSystemA* SysteamA; SubSystemB* SysteamB; SubSystemC* SysteamC; }; int main(){ SubSystemA A; SubSystemB B; SubSystemC C; Facade _Facade(&A, &B, &C); _Facade.operation(); return 0; }
'Study > Design Patterns c++' 카테고리의 다른 글
Design Patterns PROXY 프록시 패턴 C++ (0) | 2018.07.02 |
---|---|
Design Patterns FLYWEIGHT 플라이급 패턴 패턴 C++ (0) | 2018.07.02 |
Design Patterns DECORATOR 장식자 패턴 C++ (0) | 2018.06.19 |
Design Patterns STRATEGY 전략 패턴 C++ (0) | 2018.06.18 |
Design Patterns TEMPLATE METHOD 템플릿 메소드 패턴 C++ (0) | 2018.06.18 |