設計模式之簡單工廠模式

2021-08-20 07:06:17 字數 1767 閱讀 7871

又叫做靜態工廠方法(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...

設計模式 工廠模式之簡單工廠

工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...

設計模式 工廠模式之簡單工廠

我們常見的設計模式,大致可以分為三大類 建立型 結構性 行為型。工廠模式,屬於建立型。工廠模式到底起的是什麼作用呢?概括來說就是解耦。當某一類物件需要頻繁建立的時候,就會和程式產生比較大的耦合,在物件初始化屬性較多時,工廠模式可以較少這種耦合,這就是他的作用。一般情況下根據場景不同,工廠模式有幾種不...