簡單工廠模式又稱靜態工廠方法模式,不屬於gof設計模式。是由乙個工廠物件決定建立出哪一種產品類的例項。優點在於只需要特定的輸入就可以利用工廠類的靜態方法例項化出合適的物件,缺點在於容易違反高內聚責任分配原則。
以計算器例項為例進行實踐,本篇**簡化為由console輸出進行模擬。
目標類:
package chapter1;
/** * @author chk
* this class is used to define operation.
* */
public abstract class operation
public void setnumbera(double numbera)
public double getnumberb()
public void setnumberb(double numberb)
public abstract double getresult();
}class operationadd extends operation
}class operationsub extends operation
}class operationmul extends operation
}class operationdiv extends operation
}
工廠類:
package chapter1;
/** * @author chk
* this class is used to generate target operation.
* */
public class operationfactory
return oper;
}}
測試類:
package chapter1;
/** * @author chk
* this class is used to test operationfactory.
* */
public class factorytest
}
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
設計模式(簡單工廠模式 工廠模式 抽象工廠模式)
當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...