簡單工廠增長計算功能須要增長case語句修改工廠類。違背了開放封閉原則。對象
工廠方法模式:定義一個建立對象的接口,讓子類決定實例化哪個類。blog
工廠模式:抽象出一個工廠父類,每個功能作爲一個子工廠。這時候要增長一個計算功能,要在計算類增長一個功能類,而且增長對應的工廠類。這樣避免了改變工廠類,而是經過擴展的方法來新增功能。接口