設計23式 工廠

2021-08-10 03:44:21 字數 1375 閱讀 1764

最近在看設計模式之禪,書的內容以講故事的方式介紹了設計模式,強力推薦。

以下是個人對於工廠模式的理解

/*

* 工廠模式

* 優點

* 封裝性好,降低模組耦合。

* 擴充套件性好

*/public class mymain

}// 核心

// 定義乙個抽象的工廠

abstract class abstractfactory

// 定義乙個抽象的產品類

abstract class product ;

// 輸出產品的型別

public abstract void type();

}// 繼承抽象工廠,實現工廠的方法

class factory extends abstractfactory catch (exception e)

return (t) product; }}

// 繼承抽象產品,實現產品的方法

class producta extends product

}class productb extends product

}class productc extends product

}// 擴充套件

// 靜態工廠(簡單工廠),只需要乙個工廠,去除工廠抽象類,所有工廠擴充套件不方便

class staticfactory catch (exception e)

return (t) product; }}

// 多工廠,為每個產品類提供乙個工廠,維護擴充套件都不方便,但結構清晰

// 多工廠抽象

abstract class abstractfactory2

// a產品專屬工廠

class productafactory extends abstractfactory2

}// b產品專屬工廠

class productbfactory extends abstractfactory2

}// 單例工廠,用於管理單例

//特殊的單例產品

class productd;

public void say() ;

}//通過反射方式建立private修飾建構函式的productd

class singletonfactory catch (exception e)

} public static productd getproductd()

}//懶載入工廠

class lazyfactory

productmap.put(producttype, product);

} return product;

} }

設計23式 原型

原型模式 public class mymain class mail implements cloneable override protected mail clone catch exception e return mail public string getreceiver public ...

23種設計模式 工廠模式

作用 實現了建立者和呼叫者分離 詳細分類 簡單工廠模式 工廠方法模式 抽象工廠模式 工廠模式要滿足的原則 開閉原則 對擴充套件開放,對修改關閉 依賴倒置原則 面向介面程式設計,不要面向實現程式設計。迪公尺特法則 只與你的直接朋友交談,不跟陌生人說話。核心本質 例項化物件不適用new,用工廠方法代替 ...

23種設計模式 工廠模式

在軟體系統中,經常面臨著建立物件的工作 由於需求的變化,需要建立的物件的具體型別經常變化。如何應對這種變化?如何繞過常規的物件建立方法 new 提供一 種 封裝機制 來避免客戶程式和這種 具體物件建立工作 的緊耦合?定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠模式使得乙個類的例項化延遲...