又叫做靜態工廠方法(static factory method)模式,簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項,是工廠模式家族中最簡單實用的模式。
簡單來說,它更像乙個介面,將引數傳入到工廠,工廠負責呼叫給客戶端。
工廠很大方,誰需要哪個引數,就直接來我這拿。只不過工廠的能力有限,只能再簡單的情況下使用
小菜對於面試官提出的乙個計算器控制台程式三下五除二就交卷了,殊不知「**無錯就是優」這個觀念是非常錯誤的。面試受挫後的小菜便找到表哥大鳥請教失敗的原因,這時,乙個菜鳥的故事就發生了。。。
治治病:
這裡大鳥指出了幾個明顯的問題,初學者**毛病:
1. **規範
string a = console.readline(); //這裡的a是指什麼?不得而知
這裡應該寫為:
string strnumbera = console.readline(); //很明顯這裡的a是指乙個數字,並且第二個單詞首字母大寫
2.物件導向:
活字印刷術之前,是刻版印刷,當時的文字要修改,必須全部重刻,要加字,必須全部重刻,要重新排順序,還要全部重刻,並且印完這本書之後,就再無任何可以再利用的價值了,這也是為什麼火藥,指南針,造紙術都是從無到有的偉大發明,而活字印刷術僅僅是從有到進步卻被成為四大發明之一了。
這裡的活字印刷有四個優點:(即物件導向的優點)
3.複製vs復用:
不要讓你的世界變成了ctrl+c 和ctrl+v
4.封裝:
工廠類負責建立的物件比較少;
客戶只知道傳入工廠類的引數,對於如何建立物件(邏輯)不關心;
由於簡單工廠很容易違反高內聚責任分配原則,因此一般只在很簡單的情況下應用。
operation類:
public
class operation //opration運算類
set
}public
double numberb //共享
set
}public
virtual
double
getresult() //虛函式--返回值
}
加減乘除類:
class operationadd : operation //加法類
}class operationsub : operation //減法類
}class operationmul : operation //乘法類
class operationdiv : operation //除法類-----判斷除數是否為零
}
簡單運算工廠類:
public
class operationfactory
return oper;}}
客戶端**:
class
program
}
效果展示:
點我啊~點我啊~
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...
設計模式 工廠模式之簡單工廠
工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...
設計模式 工廠模式之簡單工廠
我們常見的設計模式,大致可以分為三大類 建立型 結構性 行為型。工廠模式,屬於建立型。工廠模式到底起的是什麼作用呢?概括來說就是解耦。當某一類物件需要頻繁建立的時候,就會和程式產生比較大的耦合,在物件初始化屬性較多時,工廠模式可以較少這種耦合,這就是他的作用。一般情況下根據場景不同,工廠模式有幾種不...