简单工厂模式、工厂方法模式、抽象工厂模式
生活随笔
收集整理的這篇文章主要介紹了
简单工厂模式、工厂方法模式、抽象工厂模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019-11-12
參考大話數據結構
假設我們要解決一個問題:編程實現一個計算器
用面向過程的思想,很容易想到,首先輸入兩個操作數,再判斷運算符進行運算,輸出結果即可,但是這樣的代碼很難維護,我們需要使用面向對象的思想:
(1)將運算與顯示分離,使用到了面向對象中封裝的思想,用一個類來處理運算;
(2)如果說我們要添加一個新的運算,那么我們在修改代碼時可以看到其它的幾種運算,這樣不是很好,我們將幾種運算符放到各自的類中,這樣我們在添加運算符的時候只要添加相應的類即可,但是我們如何知道我們要使用哪一個類呢?
(3)簡單工廠模式:所謂工廠,就是用一個單獨的類來創造實例,我們創建一個工廠類,在這個工廠類中根據用戶輸入的運算符創建實例即可,在該工廠類中需要進行判斷來區分不同的運算符,如果說我們要添加一個新的運算,我們首先要添加該運算的類,其次也需要在工廠類中添加對該運算的判斷,違背了我們的開放-封閉原則,怎么辦呢?
(4)工廠方法模式:我們為所有的運算創建相應的工廠,如果說我們要添加一個新的運算,我們需要添加該運算的工廠類以及相應的運算類,其實這個就是客戶端決定實例化哪一個工廠來實現運算類,選擇判斷的問題還是存在的,也就是說,工廠方法模式把簡單工廠模式的內部邏輯判斷移到了客戶端代碼來進行,原來是要改工廠類,現在是修改客戶端。
(5)抽象工廠模式:
總結
以上是生活随笔為你收集整理的简单工厂模式、工厂方法模式、抽象工厂模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习笔记 -- 文本编辑器之
- 下一篇: LeetCode 695 岛屿的最大面积