外觀模式
-
基本介紹
- 外觀模式,也叫過程模式:外觀模式爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
- 外觀模式通過定義一個一致的接口,用以屏蔽內部子系統的細節,使得調用端只需跟這個接口發生調用,而無需關心這個子系統的內部細節。
-
原理類圖
-
角色分析:
- 外觀類(Facade):爲調用端提供統一的調用接口,外觀類知道哪些子系統負責處理請求,從而將調用端的請求代理給適當子系統對象
- 調用者(Client):外觀接口的調用者
- 子系統的集合:指模塊或者子系統,處理Facade對象指派的任務,它是功能的實際提供者。
-
注意事項和細節
- 外觀模式對外屏蔽了子系統的細節,因此外觀模式降低了客戶端對子系統使用的複雜性。
- 外觀模式對客戶端與子系統的耦合關係,讓子系統內部的模塊更易維護和擴展。
- 通過合理的使用外觀模式,可以幫我們更好的劃分訪問的層次。
- 當系統需要進行分層設計時,可以考慮Facade模式。
- 在維護一個遺留的大型系統時,可能這個系統已經變得非常難以維護和擴展,此時可以考慮爲新系統開發一個Facade類,來提供遺留系統的比較清晰簡單的接口,讓新系統與Facade類交互,提供複用性。
- 不能過多的或者不合理的使用外觀模式,使用外觀模式好,還是直接調用模塊好,要以讓系統有層次,利於維護爲目的。
在mybatis框架源碼有應用。
由於太過簡單,就不寫代碼示例了,大家在平時寫代碼會隱含的使用外觀模式。