Java設計模式 外觀模式

2021-08-03 05:05:08 字數 1338 閱讀 8383

外觀模式(facade):是為了解決類與類之間的依賴關係的,像spring一樣,可以將類與類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類與類之間的耦合度,該模式中沒有涉及到介面。

我們先看兩張結構圖,可以一目了然的了解外觀模式的作用。

未使用外觀模式:

使用了外觀模式:

我們來看一下外觀模式(門面模式)的兩個角色

(2)子系統(subsystem)角色:可以同時有乙個或者多個子系統。每個子系統都不是乙個單獨的類,而是乙個類的集合(如上面的子系統就是由modulea、moduleb、modulec三個類組合而成)。每個子系統都可以被客戶端直接呼叫,或者被門面角色呼叫。子系統並不知道門面的存在,對於子系統而言,門面僅僅是另外乙個客戶端而已。

/** 

* 示例:外觀模式,也稱門面模式

* * 優點:為了解決類與類之間的依賴關係,降低了類與類之間的耦合度

* * 該模式中沒有涉及到介面

*/

class memory

public

void

shutdown()

} class cpu

public

void

shutdown()

}

/** 

* 作為facade,持有memory、cpu的例項

* * 任務讓computer幫咱們處理,我們無需直接和memory、cpu打交道

* * 這裡有點像去商店裡買東西:咱們買東西只需要到商店去買,而無需去生產廠家那裡買。

* * 商店就可以稱為是乙個facade外觀(門面)模式。

*/

class computer

public

void

startup()

public

void

shutdown()

}

/** 

* 客戶端測試類

*/public

class

test

}

Java設計模式 外觀模式

外觀模式 facade 外觀模式的意圖是 為子系統提供乙個介面,便於它的使用。解釋 簡單的說,外觀模式就是封裝多個上層應用需要的方法,使得上層呼叫變得簡單,為上層提供簡單的介面,是設計模式中一種比較簡單的設計思想,但是,也是最常用的一種設計模式。舉例 當你想吃橘子的時候,你需要做那幾件事呢?1 去買...

JAVA設計模式 外觀模式

外觀模式 又稱為門面模式 是一種結構型設計模式。外觀模式的思想是 為子系統的各個模組提供乙個統一的門面,由門面負責對客戶提供服務。外觀模式涉及2個角色 當一次的功能訪問同時呼叫到多個物件時,可以使用外觀模式。例如,在分布式應用中,通過遠端呼叫服務,使用外觀模式可以降低應用程式與服務的互動次數,同時可...

Java設計模式 外觀模式

外觀模式 facade 外觀模式的意圖是 為子系統提供乙個介面,便於它的使用。解釋 簡單的說,外觀模式就是封裝多個上層應用需要的方法,使得上層呼叫變得簡單,為上層提供簡單的介面,是設計模式中一種比較簡單的設計思想,但是,也是最常用的一種設計模式。舉例 當你想吃橘子的時候,你需要做那幾件事呢?1 去買...