建造者模式 工廠模式 中介者模式區別

2021-07-09 12:34:34 字數 711 閱讀 7893

建造者模式:將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

建造者模式包含如下角色:

builder:抽象建造者

concretebuilder:具體建造者

director:指揮者

product:產品角色

建造者模式的結構中還引入了乙個指揮者類director,該類的作用主要有兩個:

一、它隔離客戶與生產過程;

二、它負責控制產品的生成過程。指揮者針對抽象建造者程式設計,客戶端只需要知道具體建造者的型別,無須關心產品物件的具體組裝過程,即可通過指揮者類呼叫建造者的相關方法,返回乙個完整的產品物件。

建造者模式與抽象工廠模式的比較:

與抽象工廠模式相比, 建造者模式返回乙個組裝好的完整產品 ,而抽象工廠模式返回一系列相關的產品,這些產品位於不同的產品等級結構,構成了乙個產品族。

在抽象工廠模式中,客戶端例項化工廠類,然後呼叫工廠方法獲取所需產品物件,而在建造者模式中,客戶端可以不直接呼叫建造者的相關方法,而是通過指揮者類來指導如何生成物件,包括物件的組裝過程和建造步驟,它側重於一步步構造乙個複雜物件,返回乙個完整的物件。

如果將抽象工廠模式看成汽車配件生產工廠 ,生產乙個產品族的產品,那麼建造者模式就是乙個汽車組裝工廠 ,通過對部件的組裝可以返回一輛完整的汽車。

外觀模式和中介者模式比較:

外觀模式處理的是類之間複雜的依賴關係,中介者模式處理的是物件之間複雜的互動關係

中介者模式(調停者模式)

中介者模式 調停者模式 abstract class abstractcolleague public function setnumber number,abstractmediator am null class colleaguea extends abstractcolleague this...

Java設計模式 工廠模式,建造者模式

普通類繼承相同介面或者繼承相同類 工廠類繼承相同工廠介面或者方法 返回菜 普通工廠模式 根據傳入引數返回相應類,引數不對會報錯,乙個工廠,乙個函式,多個返回情況 如 自助餐廳,根據小孩兒還是 點餐,小孩兒去了就給小孩兒的菜 多個工廠方法模式 根據傳入相關方法返回對應類,乙個工廠,多種函式,乙個函式乙...

中介者模式

1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...