拿計算器程式為乙個例子,使用c#語言。
對於計算器,首先寫乙個運算類,它有兩個number屬性,用於計算器的前後運算元,接著寫乙個虛方法getresult(); 用於得到結果,把加減乘除都寫成這個運算類的子類,繼承它並且重寫gerresult()方法。
接下來寫乙個工廠類,也就是說去到底要例項化誰,將來不會增加例項化的過程,這就是工廠。
首先是運算類
public
class
operation
set}
public
double numberb
set}
public
virtual
double
getresult()
}
加減乘除類:
public
class
operationadd
:operation
}public
class
operationsub
:operation
}
簡單工廠運算類:
public
class
operationfactory
return oper;
}}
客戶端**
operation oper;
oper = operationfactory.
createopeation
("+");
oper.numbera =1;
oper.numberb =1;
console.
writeline
(oper.
getresult()
);console.
readline()
;
這樣寫計算器類,可以把業務和邏輯分離開來,而且如果我們想要增加乙個操作,可以通過寫乙個繼承自operation運算類的子類,可以防止修改乙個操作時影響其他的操作,而且不管是控制台程式還是windows程式還是web程式都可以使用這段**去實現計算機的功能。
大話設計模式筆記。
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 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...