簡單工廠模式

2021-09-23 13:56:03 字數 1444 閱讀 1299

實現了建立者和呼叫者分離,工廠模式分為簡單工廠、工廠方法、抽象工廠模式

工廠模式是我們最常用的例項化物件模式了,是用工廠方法代替new操作的一種模式。

利用工廠模式可以降低程式的耦合性,為後期的維護修改提供了很大的便利。

將選擇實現類、建立物件統一管理和控制。從而將呼叫者跟我們的實現類解耦。

簡單工廠模式相當於是乙個工廠中有各種產品,建立在乙個類中,客戶無需知道具體產品的名稱,只需要知道產品類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。

大家注意 工廠和容器的概念, 容器存放,工廠建立。

請看目錄結構:

car介面定義:

package factorymodel;

//汽車廠

public inte***ce car

實現類,各種車型:

package factorymodel;

public class bydcar implements car

}

package factorymodel;

public class jilicar implements car

}

定義工廠:

package factorymodel;

//汽車廠

public class ca***ctory

if (name.equals("吉利"))

//其他型別的

return null;

}

}

定義客戶端:

package factorymodel;

public class client

}

執行結果:

簡單工廠模式:裡面的場景多 傳遞引數 返回具體產品 但是型別很多時候就影響擴充套件性了 很麻煩了

單工廠的優點/缺點

優點:簡單工廠模式能夠根據外界給定的資訊,決定究竟應該建立哪個具體類的物件。明確區分了各自的職責和權力,有利於整個軟體體系結構的優化。

缺點:很明顯工廠類集中了所有例項的建立邏輯,容易違反graspr的高內聚的責任分配原則

簡單工廠模式  又叫 靜態工廠方法模式  它定義乙個具體的工廠類負責建立一些類的例項

優點  客戶端不需要負責物件的建立  從而明確了個各類的職責

缺點  這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後期的維護

工廠模式 簡單工廠

簡單工廠其實並不是乙個設計模式,反而比較像一種程式設計習慣。我個人的這樣總結簡單工廠 建立乙個類,封裝建立物件的 故事 現在我要開一家披薩店,叫bbk 必敗客 披薩,賣很多種披薩 芝士披薩 榴蓮披薩等等,我有乙個orderpizza string type 方法,根據客戶傳來的type來提供不同的披...

工廠模式 簡單工廠

工廠 處理建立物件的細節。目的 將例項化具體類的 從應用中抽離,或者封裝起來,可以避免干擾應用的其他部分。簡單工廠 簡單工廠其實不是乙個設計模式,反而像一種程式設計習慣。產品實現 desc 產品a public inte ce a class a1 implements a override pub...

簡單工廠模式,工廠模式,抽象工廠模式

三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...