1.首先建立乙個業務類service,在service中有乙個屬性dao,daoimpl是實現了dao介面的類
public class serviceimpl
public inte***ce dao
2.在建立乙個測試類
public class testmethod
3.我們發現這樣雖然完成業務但是dao和serviceimpl的耦合度較高,我們可以用乙個工廠來單獨生產類,其實service也可以通過這個工廠來生產,所以我們再建乙個service 的介面,serviceimpl實現該介面
public inte***ce service
4.現在來建立乙個工廠類,這之前還需要建立乙個類property來讀取配置檔案中的內容
以及我們還要建立乙個名為「config.properties」的配置檔案,檔案內容需要將要建立的介面的介面名和實現該介面的類的全名一一對應,如dao.dao=dao.daoimpl,service.service=service.serviceimpl
public class factory
public static factory getfactory()
public t newinstance(classclazz) catch (exception e)
return (t) obj;
}public class property catch (filenotfoundexception e) catch (ioexception e)
}public string getproperty(string key)
這樣,我們就可以在測試類中寫如下**
public class testmethod
這樣就可以做到減少**之間的耦合度
簡單工廠模式 XML解耦 反射
目錄 一 簡單工廠模式 二 簡單工廠模式角色 三 普通 例項 四 配置檔案 反射 五 uml圖 從字面意思看來就是要有乙個工廠類,那麼這個工廠類是幹什麼的呢?建立並返回乙個具體物件。應用場景如下 假如我們要做乙個計算器,它有很多個功能。加減乘除取餘乘方等,利用簡單工廠模式,我們要設計乙個計算類ope...
為什麼工廠模式可以解耦?下篇
上節我已經基本說明了耦合,以及在一些業務上是怎麼發生的,實際上我們要理解乙個思想,傳統的ejb開發模式,因為受到了很多很多的框架硬性約束,web容器的約束 導致了 的可讀性,可移植和可擴充套件性變得不好,所以有這些解耦的思想,我們才會在03年spring的廣泛流行!回顧上節末尾 我們是不是遺留了乙個...
使用工廠模式解耦和IoC思想
使用工廠模式解耦。某一層功能需要改動,但其他層 不變 1.建立乙個beanfactory類,bean工廠service層 private mydao dao beanfactory.getbean class beanfactory 2.解決硬編碼問題,進一步優化解耦 解決硬編碼問題,進一步解耦 s...