設計模式一 簡單工廠模式

2021-09-24 02:21:53 字數 1298 閱讀 3220

簡單工廠模式屬於類的建立型模式,又叫靜態工廠方法模式。通過專門定義乙個類建立其他類的例項,被建立的例項通常具有共同父類。

優點:簡單工廠模式實現了物件的「建立」和「使用」的分離,實現了介面程式設計,遵循了dip原則(依賴倒置原則,實際上就是面向介面程式設計)

缺點:但違背了單一原則(乙個工廠生產太多產品);增加新的產品物件時須修改工廠類靜態方法違背了開閉原則(就是實體對拓展開放,對修改關閉)

1、工廠(creator)角色

簡單工廠模式的核心,它負責實現建立所有的內部邏輯。工廠類可以被外界直接呼叫,建立所需的產品物件

2、抽象(product)角色

簡單工廠模式所建立的所有物件的父類,它負責描述所有例項所共有的公共介面

3、具體產品(concrete product)角色

簡單工廠模式所建立的具體例項物件

需要生產的產品/物件比較單一,需要不複雜的場景

產品介面

package com.design.******factory;

/** * 動物抽象類

* 行為:名字

*/public inte***ce animal

測試+產品實現類+工廠類(其實開發都是分開,不在乙個類中,這裡只是為了更好展示)

package com.design.******factory;

/** * @description

* 測試類

* @author

* @date 2019/6/121:41

*/public class test

}class dog implements animal

}class cat implements animal

}//簡單工廠類

class ******factory

public static animal getdog() */

//優化

public static animal getanimal(string name) else if (name.equalsignorecase("cat"))

return null;}}

這個工廠模式,當有新動物新增時,需要修改原碼,不滿足開放關閉原

工廠設計模式一 簡單工廠模式

工廠設計模式實現了建立者和呼叫者的分離。類別 1.簡單工廠模式 2.工廠方法模式 3.抽象工廠模式 遵循的設計原則 1.ocp 開閉原則,open closed principle 乙個軟體的實體應當那個對擴充套件開放,對修改關閉 2.dip 依賴倒置原則,dependence inversion ...

工廠設計模式(一) 簡單工廠模式

工廠設計模式可分為 簡單工廠模式 工廠方法模式 抽象工廠模式 第一篇我們來聊聊 理解 假設某些例項具有相同的方法,可以根據引數的不同返回不同的例項,被建立的例項通常都具有共同的父類,那麼可以考慮使用簡單設計模式來實現。例如可以實用簡單工廠模式設計乙個可以建立不同幾何形狀 如圓形 方形和三角形等 的繪...

設計模式 一 工廠模式 簡單工廠

以前總覺得設計模式純屬扯淡,浪費精力,10 能搞定的事情非要寫那麼多的介面或者實現類.為什麼要用設計模式,開發有乙個重要的原則 對修改關閉,對擴充套件開放.因為如果把 全部都雜糅到乙個類中,第一 復用性太差,擴充套件性不強.第二,修改起來一改巨改,改動即意味著要增加測試人員工作量,且引入修改bug如...