定義:為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得子系統更加容易使用。
使用場景:當子系統的介面過於複雜時,比如經典的三層架構,就需要考慮在資料訪問層和業務邏輯層,業務邏輯層和表示層的層與層之間建立外觀。以達到簡化目的,降低耦合
實現:建立外觀類,聚合子系統各個介面,定義對外公開的簡潔方法
優點:降低複雜介面使用難度,降低耦合性
**示例:剛工作租房子,如果自己去找,要考慮房子因素很多,房租,位置,光照等等,如果找中介,中介會提供給你最合適的**,相當於簡化了介面。注意這裡不是帶有中介倆字就是中介者模式,中介者模式是很多類彼此不認識,他們都通過乙個中介類相互發生聯絡。
/*** 租房條件介面
* @author liuhao**/
public inte***ce lease
public class condition1 implements lease
public class condition2 implements lease
public class condition3 implements lease
/*** 外觀類
* @author liuhao**/
public class leasefade
/*** 外觀暴露的租房方法
*/public void lease()
}public class main
結果:
設計模式8 外觀模式
為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這個子系統更加容易使用。public class subsystemone public class subsystemtwo public class subsystemthree public class subsys...
Java設計模式8 外觀模式
外觀模式隱藏了系統的複雜性,並向客戶端提供了乙個可以訪問系統的介面。這種型別的設計模式屬於結構性模式。為子系統中的一組介面提供了乙個統一的訪問介面,這個介面使得子系統更容易被訪問或者使用。1 外觀角色 外觀模式的核心。它被客戶角色呼叫,它熟悉子系統的功能。內部根據客戶角色的需求預定了幾種功能的組合。...
23種設計模式(8) 外觀模式
定義 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。角色 1,外觀 facade 角色 客戶端可以呼叫這個角色的方法。此角色知曉相關子系統的功能和責任。在正常情況下,本角色會將所有從客戶端發來的請求委派到相應的子系統去。2,子系統 s...