`1. 定義`
> 簡單工廠模式(Simple Factory Pattern):專門定義一個類(工廠類)來負責創建其他類的實例。可以根據創建方法的參數來返回不同類的實例,被創建的實例通常都具有共同的父類。
簡單工廠模式又稱為靜態工廠方法(Static Factory Method)模式,它屬于類創建型模式。
`2. 適用場景`
>**通過工廠創建對象,并且根據傳入參數決定具體子類對象的做法,就是簡單工廠模式**
如果我們希望將一些為數不多的類似的對象的創建和他們的創建細節分離開,也不需要知道對象的具體類型,可以使用簡單工廠模式。
>舉個形象點的例子:在前端開發中,常常會使用外觀各式各樣的按鈕:比如有的按鈕有圓角,有的按鈕有陰影,有的按鈕有邊框,有的按鈕無邊框等等。但是因為同一種樣式的按鈕可以出現在項目的很多地方,所以如果在每個地方都把創建按鈕的邏輯寫一遍的話顯然是會造成代碼的重復(而且由于業務的原因有的按鈕的創建邏輯能比較復雜,代碼量大)。
>那么為了避免重復代碼的產生,我們可以將這些創建按鈕的邏輯都放在一個“工廠”里面,讓這個工廠來根據你的需求(傳入的參數)來創建對應的按鈕并返回給你。這樣一來,同樣類型的按鈕在多個地方使用的時候,就可以只給這個工廠傳入其對應的參數并拿到返回的按鈕即可。
## **成員與類圖**
### **成員**
簡單工廠模式的結構比較簡單,一共只有三個成員:
* 工廠(Factory):工廠負責實現創建所有產品實例的邏輯
* 抽象產品(Product):抽象產品是工廠所創建的所有產品對象的父類,負責聲明所有產品實例所共有的公共接口。
* 具體產品(Concrete Product):具體產品是工廠所創建的所有產品對象類,它以自己的方式來實現其共同父類聲明的接口。
下面通過類圖來看一下各個成員之間的關系:
### **模式類圖**

簡單工廠模式類圖
> 從類圖中可以看出,工廠類提供一個靜態方法:通過傳入的字符串來制造其所對應的產品。
- 前言
- 第一章 設計七大原則
- 第1節 開閉原則
- 第2節 依賴倒置原則
- 第3節 單一職責原則
- 第4節 接口隔離原則
- 第5節 迪米特法則
- 第6節 里氏替換原則
- 第7節 合成復用原則
- 第二章 簡單工廠模式
- 第1節 使用場景
- 第2節 示例代碼
- 第三章 創建者模式
- 第1節 工廠方法模式
- 第2節 抽象工廠模式
- 第3節 建造者模式
- 第4節 原型模式
- 第5節 單例模式
- 第四章 結構型模式
- 第1節 適配器模式
- 第2節 橋接模式
- 第3節 組合模式
- 第4節 裝飾者模式
- 第5節 外觀模式
- 第6節 享元模式
- 第7節 代理模式
- 第五章 行為模式
- 第1節 責任鏈模式
- 第2節 命令模式
- 第3節 迭代器模式
- 第4節 中介者模式
- 第5節 備忘錄模式
- 第6節 觀察者模式
- 第7節 狀態模式
- 第8節 策略模式
- 第9節 模板方法模式
- 第10節 訪問者模式
- 第11節 解釋器模式