為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這個子系統更加容易使用。
public class subsystemone
}/******************************************/
public class subsystemtwo
}/****************************************/
public class subsystemthree
}/***************************************/
public class subsystemfour
}
public class facade
public void methoda()
public void methodb()
}
測試類
facade facade = new facade();
facade.methoda();
facade.methodb();
在設計初期階段,應該要有意識的將不同的兩個層分離,層與層之間建立外觀facade。
在開發階段,子系統往往y因為不斷的重構演化而變得越來越複雜。
增加外觀facade可以提供乙個簡單的介面,減少它們之間的依賴。
在維護乙個遺留的大型系統時,可以為新系統開發乙個facade類,來提供設計粗糙或者高度複雜的遺留**的比較清晰簡單的介面,讓新系統與facade物件互動,facadey與遺留**互動所有複雜的工作。
設計模式 8 外觀模式
定義 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得子系統更加容易使用。使用場景 當子系統的介面過於複雜時,比如經典的三層架構,就需要考慮在資料訪問層和業務邏輯層,業務邏輯層和表示層的層與層之間建立外觀。以達到簡化目的,降低耦合 實現 建立外觀類,聚合子系統各個介面,...
Java設計模式8 外觀模式
外觀模式隱藏了系統的複雜性,並向客戶端提供了乙個可以訪問系統的介面。這種型別的設計模式屬於結構性模式。為子系統中的一組介面提供了乙個統一的訪問介面,這個介面使得子系統更容易被訪問或者使用。1 外觀角色 外觀模式的核心。它被客戶角色呼叫,它熟悉子系統的功能。內部根據客戶角色的需求預定了幾種功能的組合。...
23種設計模式(8) 外觀模式
定義 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。角色 1,外觀 facade 角色 客戶端可以呼叫這個角色的方法。此角色知曉相關子系統的功能和責任。在正常情況下,本角色會將所有從客戶端發來的請求委派到相應的子系統去。2,子系統 s...