工廠方法模式VS建造者模式
工廠方法模式注重的是整體對(duì)象的創(chuàng)建方式;而建造者模式注重的是部件構(gòu)建的過(guò)程,意在通過(guò)一步一步地精確構(gòu)造創(chuàng)建出一個(gè)復(fù)雜的對(duì)象。
我們舉個(gè)簡(jiǎn)單例子來(lái)說(shuō)明兩者的差異,如要制造一個(gè)超人,如果使用工廠方法模式,直接產(chǎn)生出來(lái)的就是一個(gè)力大無(wú)窮、能夠飛翔、內(nèi)褲外穿的超人;而如果使用建造者模式,則需要組裝手、頭、腳、軀干等部分,然后再把內(nèi)褲外穿,于是一個(gè)超人就誕生了。
抽象工廠模式VS建造者模式
抽象工廠模式實(shí)現(xiàn)對(duì)產(chǎn)品家族的創(chuàng)建,一個(gè)產(chǎn)品家族是這樣的一系列產(chǎn)品:具有不同分類維度的產(chǎn)品組合,采用抽象工廠模式則是不需要關(guān)心構(gòu)建過(guò)程,只關(guān)心什么產(chǎn)品由什么工廠生產(chǎn)即可。
建造者模式則是要求按照指定的藍(lán)圖建造產(chǎn)品,它的主要目的是通過(guò)組裝零配件而產(chǎn)生一個(gè)新產(chǎn)品。
如果將抽象工廠模式看成汽車配件生產(chǎn)工廠,生產(chǎn)一個(gè)產(chǎn)品族的產(chǎn)品,那么建造者模式就是一個(gè)汽車組裝工廠,通過(guò)對(duì)部件的組裝可以返回一輛完整的汽車。