9 設計模式之外觀模式

2021-10-12 11:30:53 字數 1457 閱讀 4803

又名門面模式,是一種通過為多個複雜的子系統提供乙個一致的介面,而使這些子系統更加容易被訪問的模式。該模式對外有乙個統一介面,外部應用不關心內部子系統的具體細節,這樣會大大降低應用程式的複雜性,提高了程式的可維護性。

小明的爺爺年紀大了,乙個人在家生活,每天都要開燈、開電視、開空調;關燈、關電視、關空調。小明給爺爺買了只能音響,可以通過語音控制之前全部開啟或全部關閉家電。

電燈類

package com.hupp.facade;

public

class

light

public

void

off(

)}

電視類

package com.hupp.facade;

public

class

tvpublic

void

off(

)}

空調類

package com.hupp.facade;

public

class

aircondition

public

void

off(

)}

智慧型音箱類:外觀模式的統一api

package com.hupp.facade;

/** * 外觀類,主要和客戶端互動

*/public

class

public

void

say(string message)

else

if(message.

contains

("關閉"))

else

}private

voidon(

)private

void

off(

)}

客戶端

package com.hupp.facade;

public

class

client

}

執行結果

優點

缺點

設計模式之外觀模式

外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。這樣可以避免客戶端和子系統之間的緊耦合。這種模式需要將一系列的子系統組合到外觀中,然後將具體的工作交給各個子系統去完成。如此一來,可以簡化介面的呼叫。其本質就是將系統與客戶端互動的地方封裝起來。這個模式,總體來說,很簡單,理解起來也不困難。依...

設計模式之外觀模式

外觀模式 為子系統中的一組介面提供乙個一直的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。即通過乙個中類來完成客戶端的請求。拿機房收費系統的上機過程來說,上機需要顯示上機者的資訊,填寫上機狀態表,填寫上機記錄表。而使用者不需要知道這些功能是怎麼實現的,只需要通過介面操作就可以完...

設計模式之外觀模式

外觀模式,為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。在設計初期階段,應該要有意識的將不同的兩個層分離,比如經典的三層架構,層與層之間建立外觀facade。在開發階段,子系統往往因不斷的重構演化而變得越來越複雜,增加外觀模式可以提供乙個簡單的...