定義:為子系統中的一組介面提供乙個一致的介面,定義乙個高層介面,這個介面使得這一子系統更加容易使用。
外觀模式就只有乙個角色,經過內部例項邏輯處理之後提供外部方法。外觀模式是最最最簡單又最最最常用的模式,我們經常在使用卻不知道叫外觀模式,我個人覺得這不像設計模式。它作用在很多第三方sdk裡,給呼叫者提供一些api,只要呼叫就好了,不需要了解內部實現。這裡以模擬支付sdk為例,首先將使用者的資訊和商品進行加密,然後傳送到伺服器。
**示例
外觀類
public
class payhelper
}
各類
public
class user
}public
class encode
}public
class remote
}
客戶端
payhelper payhelper = new payhelper();
payhelper.pay("毛巾");
輸出為:
獲取使用者資訊
加密處理
傳送到伺服器
對於呼叫者沒必要了解內部實現,也不會讓你知道怎麼實現。只要呼叫payhelper外觀類就可以完成一系列的行為。外觀模式的核心在於封裝,對外的呼叫者帶來方便,有時候我們就需要建立輔助類工具類簡化外部的使用。不足之處望指教。 設計模式之外觀模式
外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。這樣可以避免客戶端和子系統之間的緊耦合。這種模式需要將一系列的子系統組合到外觀中,然後將具體的工作交給各個子系統去完成。如此一來,可以簡化介面的呼叫。其本質就是將系統與客戶端互動的地方封裝起來。這個模式,總體來說,很簡單,理解起來也不困難。依...
設計模式之外觀模式
外觀模式 為子系統中的一組介面提供乙個一直的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。即通過乙個中類來完成客戶端的請求。拿機房收費系統的上機過程來說,上機需要顯示上機者的資訊,填寫上機狀態表,填寫上機記錄表。而使用者不需要知道這些功能是怎麼實現的,只需要通過介面操作就可以完...
設計模式之外觀模式
外觀模式,為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。在設計初期階段,應該要有意識的將不同的兩個層分離,比如經典的三層架構,層與層之間建立外觀facade。在開發階段,子系統往往因不斷的重構演化而變得越來越複雜,增加外觀模式可以提供乙個簡單的...