結構模式 之 門面模式

2022-04-29 01:57:09 字數 727 閱讀 2057

門面模式是物件的結構模式,外部與乙個子系統的通訊必須通過乙個統一的門面(facade)物件進行,這就是門面模式。

角色:

2.子系統角色:可以同時有乙個或多個子系統。每乙個子系統都不是乙個單獨的類,而是乙個類的集合。每乙個子系統都可以被客戶端直接呼叫,或者被門面角色呼叫。子系統並不知道門面的存在,對於子系統而言,門面僅僅是另外乙個客戶端而已。

類似於醫院中設計乙個接待員的話(超級無敵全知道)

什麼情況下使用門面模式?

1.為乙個複雜子系統提供乙個簡單介面

子系統往往因為不斷演化而變得越來越複雜,使用門面模式 可以使得子系統更具可復用性。facade模式可以提供乙個簡單的預設檢視,對大多數使用者來說,這個檢視已經足夠用了,而那些需要進一步繼承的使用者可以越過facade層直接對子系統進行繼承。

2.子系統的獨立性

一般而言,子系統和其他的子系統之間,客戶端與實現化層之間存在著很大的依賴性。引入facade模式將乙個子系統與它的客戶端以及其他的子系統分離,可以提高子系統的獨立性和可移植性。

3.層次化結構

在構建乙個層次化的系統時,可以使用facade模式定義系統中每一層的入口。如果層與層之間是相互依賴的,則可以限定它們僅通過facade進行通訊,從而簡化了層與層之間的依賴有關係

設計模式之門面模式

coding gbk coding utf 8 author edgar 這是門面模式的乙個應用場景。具體故事情節請見 設計模式之禪 門面模式把一套方法封裝起來,使用者不需要知道具體的實現細節。class letterprocessimpl object def writecontext self,...

設計模式之門面模式

模式定義 為子系統中的一組介面提供乙個統一的高層介面,使子系統更容易使用。該模式通過外觀介面與子系統 互動,而不與具體的子系統中的細節互動。分層結構 mvc web應用中的三層結構 遵循原則 迪公尺特原則 最少知識原則,你不需要知道的你就不要知道,你知道幹什麼?封裝變化部分。適用場合 1 乙個系統複...

設計模式之門面模式

外觀模式定義了乙個高層介面,讓子系統更容易使用 結構性場景 有個 允許使用者用自己的積分來兌換商店內禮物,兌換需要經過校驗積分,支付積分,生成訂單的過程,單對呼叫兌換積分的介面來說不用關心裡面的三個過程,只需關心呼叫兌換積分的介面 新建積分兌換禮物實體類 package com.tangbaobao...