設計模式(八)外觀模式

2021-07-24 08:44:01 字數 1047 閱讀 1855

碼農a:我在做一件大事情,步驟是這樣的:買菜,洗菜,切好,烹飪,放調料。

碼農b:stop,stop,你直接說你要炒菜不就完了嗎。。。

為了提高**利用率,我們一般會把功能封裝成乙個乙個方法,可是當要完成乙個功能時,我們需要呼叫很多個方法時,我們可以在**中乙個乙個方法地挨著呼叫,我們也可以在寫乙個方法來專門封裝這個功能,這個方法就是所謂的外觀。

外觀模式很簡單,它就是對方法的封裝,把原來分散的多個方法重新寫在乙個新方法裡,這個新方法就是外觀,可以說是一種程式設計的思想吧。接下來外出上面炒菜的例子:

菜市場提供蔬菜:

public class market 

}

人負責洗和切蔬菜:

public class person 

public void cutvegetable()

}

調味品負責加鹽和味精:

public class condiment 

public void getaginomoto()

}

烹飪類負責提供乙個烹飪外觀(cook函式):

public class cook 

public void cook()

public void finishcook()

}

客戶端**:

public class client 

}

具體結果:

可以看到,這裡cook類提供的cook函式再次把其它類的方法進行了封裝,對外提供了乙個更加簡潔的外觀,客戶只需要呼叫cook函式就可以完成烹飪。

外觀模式對原有的方法再次封裝,提供乙個更加簡潔的介面給客戶端,客戶端就不用再一一呼叫每個類的方法來完成乙個功能,而是直接呼叫外觀提供的介面介面完成任務。

1.《head first設計模式》

設計模式(八)外觀模式

外觀模式介紹 當我們開發android的時候,無論是做sdk還是封裝api,我們大多都會用到外觀模式,它通過乙個外觀類使得整個系統的結構只有乙個統一的高層介面,這樣能降低使用者的使用成本。外觀模式定義 為系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得子系統更加容易使用。外...

設計模式(八) 外觀模式

外觀模式 facade pattern 隱藏系統的複雜性,並向客戶端提供了乙個客戶端可以訪問系統的介面。這種型別的設計模式屬於結構型模式,它向現有的系統新增乙個介面,來隱藏系統的複雜性。這種模式涉及到乙個單一的類,該類提供了客戶端請求的簡化方法和對現有系統類方法的委託呼叫。一般在做模組設計時,都會有...

設計模式筆記(八) 外觀模式

外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這個子系統更加容易使用。使用場合 第一 在設計初期階段,應該有意識的將不同的兩個層分離,層與層之間建立外觀 facade 第二 在開發階段,子系統因為不斷的重構演化而變得越來越複雜,增加外觀可以提供...