外觀模式(又稱為門面模式)是一種結構型設計模式。外觀模式的思想是:為子系統的各個模組提供乙個統一的門面,由門面負責對客戶提供服務。
外觀模式涉及2個角色:
當一次的功能訪問同時呼叫到多個物件時,可以使用外觀模式。例如,在分布式應用中,通過遠端呼叫服務,使用外觀模式可以降低應用程式與服務的互動次數,同時可以降低應用程式的複雜性。
**實現如下:
子系統:
public
class modulea
}public
class moduleb
}public
class modulec
}
門面:
public
class facade
}
客戶:
public
class client
}// 測試
class facadetest
}
執行結果:
module a結構圖:module b
module c
當想選擇性地暴露子系統模組的方法時,可以使用外觀模式。
**實現如下:
子系統:
public
class modulea
public
void
method2()
}public
class moduleb
public
void
method2()
}public
class modulec
public
void
method2()
}
門面:
public
class facade
public
void
methodb()
public
void
methodc()
}
客戶:
public
class client
}// 測試
class facadetest
}
執行結果:
module a 1結構圖:module b 1
module c 1
外觀模式鬆散了客戶端與子系統的耦合關係,讓子系統內部的模組能更容易擴充套件和維護。
外觀模式讓子系統更加易用,客戶端不再需要了解子系統內部的實現,也不需要跟眾多子系統內部的模組進行互動,只需要跟門面類互動就可以了。
通過合理使用facade,可以幫助我們更好地劃分訪問的層次。有些方法是對系統外的,有些方法是系統內部使用的。把需要暴露給外部的功能集中到門面中,這樣既方便客戶端使用,也很好地隱藏了內部的細節。
Java設計模式 外觀模式
外觀模式 facade 外觀模式的意圖是 為子系統提供乙個介面,便於它的使用。解釋 簡單的說,外觀模式就是封裝多個上層應用需要的方法,使得上層呼叫變得簡單,為上層提供簡單的介面,是設計模式中一種比較簡單的設計思想,但是,也是最常用的一種設計模式。舉例 當你想吃橘子的時候,你需要做那幾件事呢?1 去買...
Java設計模式 外觀模式
外觀模式 facade 是為了解決類與類之間的依賴關係的,像spring一樣,可以將類與類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類與類之間的耦合度,該模式中沒有涉及到介面。我們先看兩張結構圖,可以一目了然的了解外觀模式的作用。未使用外觀模式 使用了外觀...
Java設計模式 外觀模式
外觀模式 facade 外觀模式的意圖是 為子系統提供乙個介面,便於它的使用。解釋 簡單的說,外觀模式就是封裝多個上層應用需要的方法,使得上層呼叫變得簡單,為上層提供簡單的介面,是設計模式中一種比較簡單的設計思想,但是,也是最常用的一種設計模式。舉例 當你想吃橘子的時候,你需要做那幾件事呢?1 去買...