簡單工廠模式
最近朋友推薦了一本書《大話設計模式》,此書剛剛到,部落客也還沒開始看,希望以博文的方式與大家一起分享,一起學習.
簡單工廠模式,也就是說,到底要實列化誰,将來會不會增加實列化的對象,比如增加開根運算,這是很容易實列化的地方應該考慮用一個單獨的類來做這個創造實列的過程,這就是工廠,來我們一起看看這個類如何寫。
簡單運算工廠類:
import public
public class OperationFactory
{
public static OperationFactory(string operate)
{
Operation oper = null;
switch (operate)
{
case "+";
oper = new OperationFactory();
break;
case "-";
oper = new OperationFactory();
break;
case "*";
oper = new OperationFactory();
break;
case "/";
oper = new OperationFactory();
break;
}
return oper;
}
}
看到了吧,這樣子隻需要輸入運算符号,工廠就實列出合适的對象,通過多态,傳回父類的方式實作了電腦的結果。
用戶端代碼:
#用戶端代碼
Operation oper;
oper = OperationFactory.createOperate("+");
oper.NumberA = 1;
oper.NumberB = 2;
double result = oper.GetResult();
界面實作就是這樣的代碼、不管你是控制台程式,Windows 程式, Web 程式, PDA或手機程式,都可以用這段代碼來實作電腦的功能,如果有一天我們需要更改加法運算,我們隻需要改 (OperationADD)就可以了,那麼我們需要增加各種複雜運算,比如平方根,立方根,自然對數,正弦和餘弦等,那麼如何做呢?(隻要增加相應的運算子類就可以了),增加之後,還得需要去修改一下運算類工廠,在switch中增加分支。
寫到這,不知不覺到結尾了,這就是簡單的工廠模式,以下是幾個類的結構圖.

模式還有很多......待更新