了解facade設計模式

2022-08-25 19:51:15 字數 913 閱讀 6670

facade模式要求乙個子系統的外部與其內部的通訊必須通過乙個統一的facade物件進行。facade模式提供乙個高層次的介面,使得子系統更易於使用。  

就如同醫院的接待員一樣,facade模式的facade類將客戶端與子系統的內部複雜性分隔開,使得客戶端只需要與facade物件打交道,而不需要與子系統內部的很多物件打交道。   

facade的幾個要點

從客戶程式的角度來看,facade模式不僅簡化了整個元件系統的介面,同時對於元件內部與外部客戶程式來說,從某種程度上也達到了一種「解耦」的效果——內部子系統的任何變化不會影響到façade介面的變化。  

façade設計模式更注重從架構的層次去看整個系統,而不是單個類的層次。façade很多時候更是一種架構設計模式。 

façade設計模式並非乙個貨櫃,可以任意地放進任何多個物件。façade模式中元件的內部應該是「相互耦合關係比較大的一系列元件」,而不是乙個簡單的功能集合。  

注意區分façade模式、adapter模式、bridge模式與decorator模式。façade模式注重簡化介面,adapter模式注重轉換介面,bridge模式注重分離介面(抽象)與其實現,decorator模式注重穩定介面的前提下為物件擴充套件功能。

a系統有a1, a2, a3等類。客戶端需要呼叫a系統的的a1.dosomething1();a2.dosomething2();a3.dosomething3()來完成某功能。

facade模式的實現模型就是:

a系統:

class a1

class a2

class a3

facade:

public class facade

}test:

public class client

}

facade設計模式

facade 外 觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合 面臨很多變化的挑戰。在這裡我想舉乙個例子 比如,現在有一輛汽車,我們 客戶程式 要啟動它,那我們就要發動引擎 子系統 1 使四個車輪 子...

Facade設計模式

facade模式也叫外觀模式,是由gof提出的23種設計模式中的一種。facade模式為一組具有類似功能的類群,比如類庫,子系統等等,提供乙個一致的簡單的介面。這個一致的簡單的介面被稱作facade。本文介紹設計模式中的外觀 facade 模式的概念,用法,以及實際應用中怎麼樣使用facade模式進...

Facade 設計模式

目的 解決的問題 客戶端需要乙個簡化的介面來覆蓋複雜的子系統的總體功能。討論facade 設計模式通過乙個單一的介面物件來封裝乙個複雜的子系統。這樣減少了學習子系統複雜的學習曲線。它也實現了不同潛在客戶端的低依賴性和解耦。換句話說,如果facade 是唯一訪問子系統的入口,那麼它將限制一些特性何靈活...