C 實現外觀模式

2021-09-25 05:57:40 字數 845 閱讀 7190

概述:

外觀模式是結構型模式,它將複雜的子類系統抽象到同乙個介面進行管理,外界只需要通過該介面與子類系統進行互動,而不必直接與複雜的子類系統進行互動

外觀模式降低訪問複雜系統的內部子系統的複雜度,簡化客戶端與之的介面

優點:

減少客戶端與系統之間的耦合度

簡化客戶端**

缺點:

不符合開閉原則,擴張功能需要修改客戶端和統一介面的**

使用場景:

客戶端與系統存在最大的依賴性

為複雜系統提供乙個統一的介面

uml類圖:

客戶在外賣平台上下訂單,其中order就是暴露給使用者的外觀,然後飯店和快遞員是子系統

例項:

#include // 飯店

class restaurant

};// 外賣小哥

class deliveryman

};// 下訂單

class order

private:

restaurant cooker;

deliveryman deliver;

};// 使用者

class client

private:

order order;

};int main()

外觀模式(C 實現)

本部落格旨在個人總結回顧 外觀模式 為子系統的一組介面提供乙個一致的介面,此模式定義了乙個高層次介面,這個介面使得這一子系統更容易使用。說明 何時使用 設計初期有意識的將不同的兩個層分離。開發階段子系統因為不斷重構演化而變的越來越複雜。維護乙個遺留的大型系統時,在這個系統已經非常難以維護和擴充套件,...

設計模式 外觀模式(C 實現)

通常某乙個操作的初始化依賴於很多步驟,我們可以把此步驟進行封裝做成乙個類 通過這個類的初始化操作中 對依賴的物件進行建立,然後返回建立此型別的指標 然後在外觀類中完成這些函式的呼叫工作 適用於 為子系統中統一一套介面,讓子系統更加容易使用。include using namespace std cl...

設計模式 外觀模式 C 實現

外觀模式 引入乙個外觀角色封裝類來簡化客戶端與各個子系統之間的互動,為複雜的子系統呼叫提供乙個統一的入口,降低子系統與客戶端的耦合度,且客戶端呼叫非常方便。如果客戶端在執行乙個功能,需要首先執行a物件,然後在執行b物件,最後執行c物件。客戶端需要一次呼叫這個三個物件,如果這個功能被呼叫的頻繁的話,每...