設計模式(design pattern)是一套被反覆使用、多數人知曉的、經過分類的、**設計經驗的總結。
使用設計模式的目的:為了**可重用性、讓**更容易被他人理解、保證**可靠性。 設計模式使**編寫真正工程化;設計模式是軟體工程
的基石脈絡,如同大廈的結構一樣。
今天學習乙個簡單的設計模式:簡單工廠模式。用這個模式來實現乙個簡單的計算器。可以實現加減乘除4則運算。
一看這個問題,我們發現問題真的挺簡單,基本上學過簡單的程式設計的都可以完成。但是要寫出乙個低耦合、靈活、容易修改、可復用的程式也許就不是那麼簡單了。
程式設計是一門技術,更加是一門藝術,不能只滿足於寫完**執行結果,時常考慮如何讓**更加簡練,更加容易維護,更加擴充套件與復用,
首先,我們應該用盡可能的方法去避免重複。比如如果要求乙個控制台的,要求修改為介面的,如何避免重複?答案是將計算與顯示分開。
簡單的說,就是讓業務邏輯與介面邏輯分開,讓它們之間的耦合度下降,只有分離開,才可以達到容易維護或拓展。
接下來,我們怎麼樣讓程式更靈活呢?比如加上乙個開根號的功能,我們應該把加減乘除等運算分離,修改其中乙個不影響另外的集合,增加運算演算法也不影響其他**。
然後,我們如何讓計算器知道我是希望用哪乙個演算法呢?
簡單工廠模式:到底要例項化誰,將來會不會找你增加例項化的物件,比如開根物件,這些很容易變化的地方,應該考慮用乙個單獨的類來做這個創造例項的過程,這就是工廠。
源**:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace ******factory
return oper;}}
//運算類
public class operator
set
}public double numberb
set
}public virtual double getresult()
}public class operatoradd : operator
}public class operatorsub : operator
}public class operatormul : operator
}public class operatordiv : operator
}class program
catch(exception ex)
console.read();}}
}
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 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...