如果沒有工廠設計模式,可能會出現以下的問題
itaskdao介面和taskdaoimpl實現類,實現類是可能會更改的,那麼,如果就使用普通的方式來建立dao,比如
itaskdao taskdao = new taskdaoimpl(),那麼後續,如果你的taskdao的實現類變更了,那麼你就必須在你的程式中,所有出現過taskdaoimpl的地方,去更換掉這個實現類,這是非常非常麻煩的。
如果說,你的taskdaoimpl這個類,在你的程式中出現了100次,那麼你就需要修改100個地方,這對程式維護是一場災難
這時就有工廠設計模式
對於一些種類的物件,使用乙個工廠,來提供這些物件建立的方式,外界要使用某個型別的物件時,就直接通過工廠來獲取即可,不用自己手動乙個乙個地方的去建立對應的物件,那麼加入,我們有100個地方用到了taskdaoimpl,不需要去在100個地方都建立taskdaoimpl(),只要使用taskfactory.gettaskdao()方法,獲取出來itaskdao介面物件即可。
如果後面,比如說mysql遷移到oracle,我們重新開發了一套taskdaoimpl實現類,那麼就直接在工廠方法中,更換掉這個類即可,不需要在對所有的地方都做改變
設計模式 工廠設計模式
用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...
設計模式 工廠設計模式
工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...