模式定義:
為子系統中的一組介面提供乙個統一的高層介面,使子系統更容易使用。該模式通過外觀介面與子系統
互動,而不與具體的子系統中的細節互動。【分層結構、mvc、web應用中的三層結構】
遵循原則:
迪公尺特原則--最少知識原則,你不需要知道的你就不要知道,你知道幹什麼?;
封裝變化部分。
適用場合:
(1)乙個系統複雜度比較高,需要乙個更高階別的簡單介面來簡化對子系統的呼叫;
(2)端與端之間聯絡太複雜,需要進行抽象,減少耦合性,層級化子系統。
知識擴充套件:
jdk中的logger、sl4j就是典型的實踐者,另外web的層級結構就是最好的詮釋。
public inte***ce ispareribs
做一頓飯需要很多步驟
public class spareribs implements ispareribs
@override
public void juice()
@override
public void prepare()
@override
public void preserve()
}/**
* 向外界公布的介面,就是做糖醋排骨,細節就不要管了
* @author xsy**/
public inte***ce icookfacade
public class cookfacade implements icookfacade }測試
public class client
}
設計模式之門面模式
coding gbk coding utf 8 author edgar 這是門面模式的乙個應用場景。具體故事情節請見 設計模式之禪 門面模式把一套方法封裝起來,使用者不需要知道具體的實現細節。class letterprocessimpl object def writecontext self,...
設計模式之門面模式
外觀模式定義了乙個高層介面,讓子系統更容易使用 結構性場景 有個 允許使用者用自己的積分來兌換商店內禮物,兌換需要經過校驗積分,支付積分,生成訂單的過程,單對呼叫兌換積分的介面來說不用關心裡面的三個過程,只需關心呼叫兌換積分的介面 新建積分兌換禮物實體類 package com.tangbaobao...
設計模式之門面模式
在許多開源的框架中都充分的利用了設計模式這一概念,struts典型的mvc模式的化身,spring是工廠模式和單例模式的充分體現。在專案開發中,能充分利用設計模式的思想來考慮問題,來解決問題,來通過 去實現。不但可以提高 的質量,對程式的擴充套件,重用帶來很大方便。其實我們專案中用設計模式程式設計就...