為子系統中的一組介面提供乙個一致的介面
如何解決:客戶端不與系統耦合,外觀類與系統耦合
關鍵**:在客戶端和複雜系統之間再加一層,這一層將呼叫順序、依賴關係等處理好。
缺點:不符合開閉原則,如果要改東西很麻煩,繼承重寫都不合適。
使用場景:
注意事項:在層次化結構中,可以使用外觀模式定義系統中每一層的入口
facade.hpp
#ifndef _facade_h_
#define _facade_h_
#include
using
namespace std;
class
subsystem1
~subsystem1()
void
operation()
};class
subsystem2
~subsystem2()
void
operation()
};class
facade
~facade()
void()
private
: subsystem1* _subs1;
subsystem2* _subs2;};
#endif
main.cpp
#include
"facade.h"
#include
using
namespace std;
intmain()
結構型模式 Facade(外觀)模式
定義 為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。定義角色 outlook功能 每個人都可能有很多郵箱,msn的 網易的 公司的 google的。如果每天都登入各個郵箱收信非常麻煩,而且也可能漏收郵件。所以使用諸如outlook這樣的客戶端...
結構型模式 外觀 facade
為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用.main.cc include include runner club.h design pattern facade runner club two activitys recruit ...
結構型模式 facade 外觀
1.意圖 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面。口使得這一子系統更加容易使用。2.動機 將乙個系統劃分成為若干個子系統有利於降低系統的複雜性。乙個常見的設計目標是使 子系統間的通訊和相互依賴關係達到最小。達到該目標的途徑之一是就是引入乙個外觀 facade 物件...