1. 程式人生 > >工廠方法模式和簡單工廠模式的區別

工廠方法模式和簡單工廠模式的區別

簡單工廠模式

就我們的計算器例子來說,簡單工廠模式的思想就是,建立一個運算類,建立一個簡單工廠類。

運算類派生加法類、減法類、乘法類......

簡單工廠類主要是根據傳入的符號字串,做相應的條件判斷來建立相應的運算物件

當我們需要增加運算功能的時候,需要在運算類中派生相應的運運算元類,在簡單工廠類中增加相應的條件判斷。

在簡單工廠類中增加相應的條件判斷】這一來就違反了設計模式的OCP原則!於是,工廠方法模式就解決了這一問題。


工廠方法模式

工廠方法模式的思想是,建立一個運算類,建立一個工廠類。

運算類派生加法類、減法類、乘法類......

工廠類派生相應的加法工廠,減法工廠、乘法工廠........

實質上就是,把簡單工廠類中“根據傳入的符號字串,做相應的條件判斷來建立相應的運算物件”,分擔到每個派生類裡面,在每個派生工廠類裡面進行相應的運算物件生成操作。

這樣一來,以後我們要增加一個運算功能的時候,就只需要增加運算派生類、增加派生的工廠類即可,而不需要去修改工廠基類的的內容,體現了多擴充套件,少修改的原則。