為子系統中的一組介面提供一個一致的界面,外觀模式定義了一個高層介面,使得子系統更容易使用。

class ClassA { public: void doA() { ... } };
class ClassB { public: void doB() { ... } };
class ClassC { public: void doC() { ... } };
class Facade {
ClassA a; ClassB b; ClassC c;
public:
void operation1() { a.doA(); b.doB(); }
void operation2() { c.doC(); }
};
// 客戶端
Facade f; f.operation1(); f.operation2();
外觀模式降低了客戶端與子系統的耦合,簡化了調用介面,是結構型模式中極具實用價值的一種。