23種設計模式 四 外觀模式

2021-10-12 17:18:59 字數 1157 閱讀 8460

通過父系統呼叫子系統,也就是父系統是入口,呼叫不同的子系統,遵守迪公尺特法則,最少知道原則

優點:

簡化呼叫過程,無需了解子系統,防止帶來風險

減少系統依賴,減少系統耦合性

生活中的例子:

例如我在cf官網,我用積分兌換,裝備,我只需要知道我能兌換裝備,我不需要他具體執行的什麼,具體能不能到我的賬號,內部驗證積分是否充足,然後減摳積分,然後通過虛擬裝備系統發放到某個人的賬戶

裝備

public

class

equipment

public string getname()

}

支付

public

class

pointspaymentservice

}

驗證積分資格

public

class

qualifyservice

}

發貨系統

public

class

shippingservice

}

程式的業務

public

class

equipmentexchangeservice}}

}

equipment equipment =

newequipment

("火麒麟");

equipmentexchangeservice equipmentexchangeservice =

newequipmentexchangeservice()

; equipmentexchangeservice.

giftexchange

(equipment)

;

結果:

校驗火麒麟 積分資格通過,庫存通過

支付火麒麟 積分成功

火麒麟進入虛擬裝備系統

虛擬系統下單成功,訂單號是:

666

所以說,我不需要知道他的流程,我只需要知道我要兌換東西,就好了

23種設計模式 外觀模式

隨著軟體的開發,元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。如何簡化外部客戶程式和系統間的互動介面?如何將外部客戶程式的演化和內部子系統的變化之間的依賴相互解耦?為子系統中的一組介面提供乙個一致 穩定 的介面,門面模式定義了乙...

設計模式學習筆記之四 外觀模式

外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。以上的定義摘自 大話設計模式 按我自己的理解,外觀模式 將乙個或多個類中的多個方法打包到乙個方法中供外界呼叫。打個比方,現有a類的a方法 b類的b方法 c類的c方法,我們的業...

23種設計模式(8) 外觀模式

定義 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。角色 1,外觀 facade 角色 客戶端可以呼叫這個角色的方法。此角色知曉相關子系統的功能和責任。在正常情況下,本角色會將所有從客戶端發來的請求委派到相應的子系統去。2,子系統 s...