簡單工廠模式屬於類的建立型模式,又叫靜態工廠方法模式。通過專門定義乙個類建立其他類的例項,被建立的例項通常具有共同父類。
優點:簡單工廠模式實現了物件的「建立」和「使用」的分離,實現了介面程式設計,遵循了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如...