非常感謝你的閱讀,如果你覺得好或者對(duì)你有幫助,請(qǐng)積極給一個(gè)留言反饋以示鼓勵(lì)。
兩者都系工廠模式。
本質(zhì)都是將創(chuàng)建具體對(duì)象的職責(zé)和過程從代碼中提取出來,從而實(shí)現(xiàn)調(diào)用者和被調(diào)用者解耦的(設(shè)計(jì)模式)目標(biāo)。
但之所以會(huì)存在兩個(gè)分支,我們可以從其各自的實(shí)質(zhì)來看:
工廠方法模式(Factory Mehod Pattern) 只產(chǎn)生一類對(duì)象;
抽象工廠模式(Abstract Factory Pattern)產(chǎn)生一系列對(duì)象;這些對(duì)象具有如下特征:相關(guān)或者相互依賴。
工廠方法模式可以通過帶參數(shù)的變種(即結(jié)合j2ee Service Location Pattern方式),從而產(chǎn)生多種產(chǎn)品(即一類對(duì)象的多個(gè)不同的實(shí)例)。
抽象工廠模式更注重是相關(guān)或者相互依賴的一系列對(duì)象,一旦需要改動(dòng),只修改某一個(gè)具體工廠即可到達(dá)修改整個(gè)產(chǎn)品系列的目的。
從這一點(diǎn),如果是涉及一個(gè)系列的產(chǎn)品一起工作,我們就應(yīng)該放棄采用(工廠方法模式的)多個(gè)工廠方法來達(dá)到與(抽象工廠)相同目的的做法。
因?yàn)椋?font color="#ffc0cb">如果一個(gè)系列的產(chǎn)品一起工作時(shí),一個(gè)應(yīng)用一次只能使用同一個(gè)產(chǎn)品系列中一個(gè)對(duì)象,只需要一個(gè)具體工廠類(抽象工廠模式),或者 多個(gè)具體工場(chǎng)類(工廠方法模式)。如果這一點(diǎn)可以接受,那修改呢?!
Thanks very much to visit blog,? welcome your feedback,? your feedback is the Driver && Power to me