也談設計模式Facade

2022-02-19 10:50:18 字數 1194 閱讀 2267

門面模式提供乙個高層次的介面,使得子系統更容易使用。

子系統與外部系統的通訊必須經過乙個統一的facade進行處理。

內部系統的互動在facade中進行整合,這樣,對於外部系統的使用者就不用關注內部系統的複雜性。而有facade的存在也降低了內外系統的耦合。

1.內部系統

1.1 內部子系統1--對茶的操作

package

designpattern.facade;

public

class

teadeal

public

void

cooktea()

}

1.2 內部子系統2--對水的操作 

package

designpattern.facade;

public

class

waterdeal

public

void

boilwater()

}

2.外部呼叫 

這裡面我們將泡茶的流程設定為:放茶→燒水→泡茶,不採用facade模式的時候,我們會這樣做

package

designpattern.facade;

public

class

nofacadetest

}

有了facade,我們會這樣做

2.1 建立facade

package

designpattern.facade;

public

class

facade

public

void

cooktea()

public

void

boiltea()

}

2.2 外部呼叫

package

designpattern.facade;

public

class

facadetest

}

3.對比分析

在追mm和設計模式這篇神文中,對與facade的形象解釋:

與上面的示例相對應的,facade提供的方法中也有自動檔這個檔位(泡茶),mm不用去關注怎麼去燒水怎麼去倒水,泡茶成了一鍵式,大大的方便了mm呀。

facade設計模式

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

Facade設計模式

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

Facade 設計模式

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