工廠模式 簡單工廠模式 初涉

2021-08-25 11:36:35 字數 1815 閱讀 4368

定義:

稱為靜態工廠方法(static factory method)模式,它屬於類建立型模式。

在簡單工廠模式中,可以根據引數的不同返回不同類的例項

優勢物件的建立和物件的使用實現了分離,客服端不需要了解實現細節,降低耦合度

當你需要什麼,只需要傳入乙個正確的引數,就可以獲取你所需要的物件,而無須知道其建立細節。

劣勢:不符合開閉原則,新增新產品需要修改邏輯**

結構:工廠角色

工廠核心類,負責建立具體的目標類

抽象目標

規範子類的公共屬性

具體目標

實現抽象功能,一般是多個實現類,工廠類建立就是該類類的物件

uml圖:

工廠類:

package com.project.factory.******factory;

import com.project.factory.methodfactory.icar;

import com.project.factory.******factory.impl.aody;

import com.project.factory.******factory.impl.byd;

/** * 簡單工廠類,傳入建立車型,建立相應車型,缺陷不能新增車型

* @author administrator

* */

public class ******factory else if (type.equals("比亞迪"))

return null;

}}

抽象目標:

package com.project.factory.******factory;

/** * 卡車介面

* @author administrator

* */

public inte***ce icar

實現類:

package com.project.factory.******factory.impl;

import com.project.factory.methodfactory.icar;

/** * 奧迪車

* @author administrator

* */

public class aody implements icar

}

package com.project.factory.******factory.impl;

import com.project.factory.methodfactory.icar;

/** * 比亞迪車

* @author administrator

* */

public class byd implements icar

}

測試類:

package com.project.factory.******factory;

import com.project.factory.methodfactory.icar;

import com.project.factory.******factory.impl.aody;

import com.project.factory.******factory.impl.byd;

public class client

}

參考:

初涉設計模式 簡單工廠模式

下面我談談簡單工廠模式 有的時候,我們不希望客戶自己new以個產品,而是希望客戶傳入乙個產品的名字來得到他們想要的產品,下面用乙個示意程式來說明 inte ce car class benz implements car public void stop class ford implements ...

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

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

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

簡單工廠模式 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關類,對於客戶端來說,去除了與具體產品的依賴。但增加功能時,需增加 case 邏輯判斷分支條件,修改了原有的類,我們不但對擴充套件開發了,對修改也開放了,違背了開放 封閉原則。工廠方法模式,定義了乙...