(十一)工廠模式

2021-10-14 00:16:01 字數 633 閱讀 8788

# 工廠模式 如果沒有工廠模式,可能會出現的問題: - itaskdao介面和taskdaoimpl實現類;實現類是可能會更換的;那麼,如果你就使用普通的方式來建立dao,比如itaskdao taskdao = new taskdaoimpl(),那麼後續,如果你的taskdao的實現類變更了,那麼你就必須在你的程式中,所有出現過taskdaoimpl的地方,去更換掉這個實現類。這是非常非常麻煩的。 - 如果說,你的taskdaoimpl這個類,在你的程式**現了100次,那麼你就需要修改100個地方。這對程式的維護是一場災難。

工廠設計模式

對於一些種類的物件,使用乙個工廠,來提供這些物件建立的方式,外界要使用某個型別的物件時,就直接通過工廠來獲取即可。不用自己手動乙個乙個地方的去建立對應的物件。

那麼,假使我們有100個地方用到了taskdaoimpl。不需要去在100個地方都建立taskdaoimpl()物件,只要在100個地方,都使用taskfactory.gettaskdao()方法,獲取出來itaskdao介面型別的物件即可。

如果後面,比如說mysql遷移到oracle,我們重新開發了一套taskdaoimpl實現類,那麼就直接在工廠方法中,更換掉這個類即可。不需要再所有使用到的地方都去修改。

設計模式 抽象工廠(十一)

軟體領域中的設計模式的重要性不言而喻。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型。雖然知道這些特性的定義但是並沒有做到真正的理解,這樣特性有什麼作用?用於什麼場合中等等問題,帶著疑問開始學習設計模式,主要參考 大話設計模式 和 設計模式 可復用物件導向軟體的基礎 兩本書。工廠模...

設計模式C 實現十一 抽象工廠模式

抽象工廠模式 abstract factory 提供乙個建立一系列相關或者相互依賴物件的介面,而無需指定他們具體的類。優點 便於交換產品系統,由於具體工廠類,在乙個應用中只需要初始化的時候出現一次,這就使得改變乙個應用的具體工廠變得非常容易,只需要改變具體工廠即可以使用不同的產品配置。它讓具體的建立...

第十一章 Cach 設計模式 抽象工廠模式

抽象工廠類思考 提供乙個建立一系列相關或相互依賴的介面,而無需制定它們具體的類。連線資料庫sql和cach 並且每個資料庫對映的同張的表的型別是不同的。class pha.yx.design.abstractfactory.user extends registeredobject method i...