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