前面已經(jīng)介紹過簡單工廠模式,并提及雖然簡單工廠模式有很多優(yōu)點(diǎn),但其破壞了開發(fā)-封閉原則(Open-Close Principle,對擴(kuò)展開發(fā),對修改關(guān)閉)。即每增加一種算法,都要對工廠類進(jìn)行修改。
在這里將簡單工廠模式稍作改進(jìn),既成了工廠方法模式。
定義一個(gè)用于創(chuàng)建對象的接口,讓子類決定實(shí)例化哪一個(gè)類,工廠方法使得一個(gè)類的實(shí)例化延遲到其子類。
UML類圖: