設計模式 外觀模式(1)

2021-09-30 05:40:36 字數 665 閱讀 5179

外觀模式

如果把醫院作為乙個子系統,按照部門職能,這個系統可以劃分為**、門診、劃價、化驗、收費、取藥等。看病的病人要與這些部門打交道,就如同乙個子系統的客戶端與乙個子系統的各個類打交道一樣,不是一件容易的事情。

首先病人必須先**,然後門診。如果醫生要求化驗,病人必須首先劃價,然後繳款,才能到化驗部門做化驗。化驗後,再回到門診室。

解決這種不便的方法便是引進門面模式。可以設定乙個接待員的位置,由接待員負責代為**、劃價、繳費、取藥等。這個接待員就是外觀模式的體現,病人只接觸接待員,由接待員負責與醫院的各個部門打交道。

特點:為子系統的一組介面提供乙個一致的介面。使使用者使用起來更加方便。

實現**:

#include

#include

using namespace std;

class subsysone };

class subsystwo };

class subsysthree };

class subsysfour };

//接待員類

(包括:**、劃價、繳費、取藥)

class facade

~facade()

void facademethod()

};//

客戶端

int main()

設計模式 外觀模式

外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...

設計模式 外觀模式

何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...

設計模式 外觀模式

外觀模式說白了就是為一組介面提供乙個一致的介面。例如 定義三個類a b c,每個類各定義乙個方法。class a pubic void showa cout a showa pubic void showb cout b showb pubic void showc cout c showc 定義乙...