本文的例子**於程杰的《大話設計模式》
使用工廠類來例項化出你想要的物件來完成乙個操作。
以加減運算類為例,我們說類的職責應該是單一的,運算這個操作如果細分的話,最小單元應該是加、減操作,所以我們設計了乙個基類,並分別實現了加法類,減法類,在保證這些能夠完成單一功能的類不被修改的前提下,怎麼使用這些基本類呢,於是我們可以通過增加乙個工廠類來例項化出我們想要的某乙個類來完成操作。例如我們可以寫乙個簡單的類來完成功能
public class但是正如書中所說,如果以後增加運算,只能將這個類改了,為了使得類的職責單一,盡量不修改,我們可以將這個類分解一下,不改動最小單元類。computes
return result;
}}
using system;using system.collections.generic;
using system.linq;
using system.text;
namespace ******factory
}public class
operation
public double numberb
public virtual double getresult()
}public class
operationadd : operation
}public class
operationsub : operation
}public class
operationfactory
return oper;}}
}
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...