工廠角色:
package designpattern.creation.******factory;/**
* 此處的工廠簡單寫成乙個類,因為(簡單工廠的工廠)不會有繼承或拓展,可以不用寫成介面。 */
public
class
factory
else
if(type.equals("b"
))
/** 如果需要增加產品,則修改此類,需要在此增加判斷—— 這樣就破壞了類的完整性
* —— 對修改封閉,對拓展開放!
*/return
null
; }
}
產品角色:
package designpattern.creation.******factory;public
inte***ce
iproduct
package designpattern.creation.******factory;
public
class
producta implements iproduct
}package designpattern.creation.******factory;
public
class
productb implements iproduct
}
客戶端:
package designpattern.creation.******factory;
/** *
* 簡單工廠三因素:
* 1 工廠只有乙個方法
* 2 方法有乙個引數(或多個)
* 3 客戶端通過向工廠的那個方法傳入不同引數來獲取對應的產品
* */
public class client
}
總結:1 簡單,理解起來簡單,客戶呼叫簡單
2 破壞了開放封閉原則
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...