工廠方法模式 應用最廣(建立型模式02)

2021-07-28 18:02:14 字數 1183 閱讀 2930

什麼是工廠方法模式?

定義乙個用於建立物件的介面,讓子類決定例項化哪個類。

在任何需要生成複雜物件的地方,都可以使用工廠方法模式。用new就可以完成的建立無需要使用工廠方法模式。

工廠方法四大模組:

抽象工廠角色(abstractfactory)

具體工廠角色(concretefactory)

抽象產品角色(abstractproduct)

具體產品角色(concreteproduct)

這個和下乙個模式抽象工廠方法模式裡是一樣的,都有四類角色。

工廠方法的應用

結合例子來分析吧,汽車廠生產汽車吧,這個模式下假如我們的需求沒有那麼大,我們只生產國產的東風汽車。他有搭配輪胎和引擎的方法吧。

東風車廠類:

public

inte***ce idongfengfactory

public

class

dongfengfactory

implements

idongfengfactory

}

東風汽車類:

public

inte***ce idongfengcar

public

class

dongfengcar

implements

idongfengcar

public

void

createengine()

}

主類呼叫:

public

static

void

main(string args)

執行結果:

我是輪胎

我是引擎

至此一輛東風車就造好了,零件搭配齊全。

總的來說。工廠方法設計還是很實用的,**系統結構清晰,將要生產的產品具體細節操作封裝起來,使用者只關心呼叫介面就是,不用擔心他汽車怎麼造的過程。

但是工廠方法模式也有不好的地方就是我們要引入新的產品,比如新增加進口汽車就要重新寫的產品類,還要引入新的介面,從而導致整體檔案多起來了。

工廠方法模式 應用最廣

工廠方法模式 應用最廣 定義乙個用於建立物件的介面,讓子類決定例項化哪個類。在任何需要生成複雜物件的地方,都可以使用工廠方法模式。用new就可以完成的建立無需要使用工廠方法模式。工廠方法四大模組 抽象工廠角色具體工廠角色抽象產品角色具體產品角色。這個和下乙個模式抽象工廠方法模式裡是一樣的,都有四類角...

應用最廣泛的模式 工廠方法模式

定義乙個建立物件的介面,讓子類決定例項化哪個類。當a物件需要呼叫b物件的方法時,可以使用new關鍵字來建立乙個b例項,然後呼叫b例項的方法,這種做法的壞處在於 a類的方法直接呼叫了b類的類名 這種方式也被稱為硬編碼耦合 一旦系統需要重構 需要使用c類來代替b類時,程式不得不改寫a類 如果應用中有10...

建立型模式 工廠方法模式

目錄 1.工廠方法模式概述 1.1 工廠方法模式概念 1.2 工廠方法模式類圖 2.工廠方法模式實現原理 3.工廠方法模式優缺點 3.1 優點 3.2 缺點 又稱為虛擬構造器 virtual constructor 模式或多型模式,屬於建立型模式。在工廠方法模式中,父類負責定義建立物件的公共介面,而...