Java設計模式 結構型模式之外觀模式

2021-09-10 22:38:37 字數 1060 閱讀 5742

一、前言

今天我們一起來學習外觀模式。外觀模式為使用者提供乙個統一的facade高層介面,我們的使用者面對僅僅就是facade這個介面,這樣使用者使用就顯得簡單,而facde下的子介面也容易擴充套件。自我感覺有點像我們生活中那些一鍵搞定的那種傻瓜式的操作模式。

二、外觀模式

概述:隱藏系統的複雜性,並向客戶端提供了乙個客戶端可以訪問系統的介面。

使用場景:

1、客戶端不需要知道系統內部的複雜聯絡,整個系統只需提供乙個"接待員"即可。

2、定義系統的入口

外觀模式為定義了乙個高層的介面,而使得它的子系統更加容易使用,它是一種結構型的設計模式,外觀模式減少了系統之間的依賴關係,做到了外觀類和系統的解耦,但是這種設計違背了 開閉原則,如果要修改東西會顯得很麻煩。

三、**展示

我們通過乙個小例子來演示外觀模式,系統只向外提供了乙個高層的facade介面。使用者只需要關心facade介面即可。

3.1 定義乙個計算介面

public inte***ce calculatebase
3.2 建立兩個服務實現類

public class servicea implements calculatebase 

}

public class serviceb implements calculatebase 

}

3.3 定義乙個 facede的高層介面

public class facade 

public void calc()

calculatebase.calc();

}private void createserivce(int calctype)

}}

3.4 使用者只需要關心高層介面即可

public class test 

}

結果輸出

服務a 的計算

服務b 的計算

暫無服務支援

結構型模式之外觀模式

外觀模式 facade 外觀模式是為了解決類與類之家的依賴關係的,像spring 一樣,可以將類和類之間的關係配置到配置 檔案中,而外觀模式就是將他們的關係放在乙個facade 類中,降低了類類之間的耦合度,該模式中沒 有涉及到介面,看下類圖 我們以乙個計算機的啟動過程為例 我們先看下實現類 pub...

結構型模式之外觀模式

1 外觀模式產生的原因 在軟體開發過程中,程式一般會越做越大,而這樣系統中類及子系統之間的影響會使彼此間的關係變得錯綜複雜即過多的耦合,這就導致了隨著系統中類或子系統發生變化,與之相關聯的子系統或類就需要發生變化。2 外觀模式的定義 外觀模式 facade pattern 就是為子系統中的一組介面提...

設計模式11 結構型模式之外觀模式

定義 外觀模式 fa ade pattern 為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。型別 結構型模式。適用性 當子系統非常複雜時,使得客戶呼叫非常麻煩,不便於使用。這個時候就可以使用外觀模式將這些子系統封裝起來,提供乙個統一而簡單介面...