學習自
大話設計模式
overview
簡單工廠模式,可以說是我們最常用的設計模式之一,顧名思義,簡單工廠,就像現實生活中的工廠一樣,是用來生產產品的,而在程式設計中,這個產品指的就是特定的物件。
類圖
demo(乙個簡單的計算機小程式)
需求如下:
實現乙個簡單的計算器功能,實現兩個數的加減乘除等操作。
初始**:
class program
console.writeline("結果為: " + result);
思考 上面的程式,看起來沒有什麼問題,並且測試結果也是正確的,那麼,這是乙個好的程式嗎?no,應為需求總是善變的,現在如果要讓你在新增一種運算,比如說取模運算,可能這個需求可能改動的不是很大,但是現實中的業務肯定會更加的複雜,那麼這時候修改一次的工作量就海了去了,並且現在的程式,ui和後台邏輯完全的耦合在了一起,萬一到時候,需要對**進行移植,比如說,換成winfrom程式,這時候的工作量幾乎是推到了從來。
好的程式設計師是懶出來的(使用簡單工廠模式解決上述問題)
好的程式設計師是懶出來的,我們不要被重複的工作所困擾,通過簡單工廠模式我們可以很好的處理和解決這個問題:類圖如下:
實現**:
operation類
namespace 學習設計模式_簡單工廠模式
public double numsecond
public abstract double getresult();}}
operation類的各個子類
/// /// 實現加法運算
///
public class operationadd : operation
}/// /// 實現減法運算
///
public class operationusb : operation
}
工廠類:
public class operationfactory
return operation;}}
呼叫
class program
}
總結
經過使用我們的簡單工廠模式,**量雖然多了很多,但是,這時候我們的前台和後台已經完全的分離了,如果想要移植的話,就會非常的簡單了,而且,如果我們要新增一種新的運算,不要要進行很大的改動就可以完成,只需要新建乙個類繼承operation並實現功能,然後為工廠類中的switch語句增加乙個新的分支即可。
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 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...