名詞解釋:
外觀模式:為子系統中的一組介面提供乙個一致的介面,此模式定義乙個高層介面,這個介面使得這一子系統更加容易使用。
必要元素:
乙個外觀類和多個子系統類(外觀類中注入各個子系統類)。
上例子:
四個系統類:
classsubsystemone
}class
subsystemtwo
}class
subsystemthree
}class
subsystemfour
}
外觀類:
classfacade
public
void
methoda()
public
void
methodb()
}
客戶端呼叫:
facade facade = newfacade();
facade.methoda();
facade.methodb();
其實外觀類說白了就是把整個的執行過程給包裝起來,客戶端呼叫只需使用外觀類暴露地方法即可,至於外觀類是如何組織方法的無需關心。
總結:使用外觀模式可分為三個階段,首先,在設計初期階段,應該要有意識的將不同的兩個層分離,比如三層模式。其次,在開發階段,子系統往往因為不斷的重構演化而變得越來越複雜,大多數的模式使用時也都會產生很多很小的類,由於類越來越多,所以給程式使用上帶來了困難,所以增加外觀類facade可以提供乙個簡單的介面,減少他們之間的依賴。第三,在維護乙個遺留的大型系統時,可能這個系統已經很難維護和擴充套件,但是又很有用,此時使用外觀模式也是合適的。你可以為新系統開發乙個外觀facade類,來提供設計粗糙或高度複雜的遺留**的比較清晰簡單的介面,讓新系統與facade物件互動,facade與遺留**互動所有複雜的工作。
java之外觀模式
外觀模式 facade 外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面 我們以乙個計算機的啟動過程為例 public class cpu publ...
PHP之外觀模式
當使用子系統的 時,你也許會發現自己過於深入地呼叫子系統的邏輯 如果子系統 總是在不斷變化,而你的 卻又在許多不同地方與子系統 互動,那麼隨著子系統的發展,你也許會發現維護 變得非常困難。在專案中整合複雜的第三方 或在系統中逐漸形成大量僅在系統自身內部有用的 在這些情況下,你總可以應用外觀模式,為複...
設計模式之外觀模式
外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。這樣可以避免客戶端和子系統之間的緊耦合。這種模式需要將一系列的子系統組合到外觀中,然後將具體的工作交給各個子系統去完成。如此一來,可以簡化介面的呼叫。其本質就是將系統與客戶端互動的地方封裝起來。這個模式,總體來說,很簡單,理解起來也不困難。依...