簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(static factory method)模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實現。
以下是乙個普通的實現四則運算的類,儘管能滿足當前業務需求,但若需要新增運算子(例如新增次方運算)則需要對整個**塊進行調整;有可能產生誤操作,將其餘**進行了修改。為此必須將各個操作分離,達到松耦合的目的。
//實現基本運算方法
public class operation
return result;
}}
建立乙個公共父類,然後建立add類實現加法。
//實現基本運算方法
public abstract class operation
public void setnumber1(double number1)
public double getnumber2()
public void setnumber2(double number2)
public abstract double getresult();
} //建立加法類重寫父類中的getresult()
class add extends operation
}
這樣便將各個操作之間便不會相互影響,但是產生了另乙個問題:如何讓計算機知道我想用哪乙個演算法呢?
為此則需要通過「簡單工廠模式」進行解決,通過另外乙個工廠類來告訴計算機到底該例項哪乙個操作。
public class operationfactory
return operation;
}}
如此這樣,就能達到各個操作之間互不影響,並且能夠方便變更與修改。這就是簡單工廠模式,
通過工廠類來進行運算的例項化,可以例項化各個不相關的模組,以達到松耦合的目的。
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 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...