我需要一個建議w.r.t.我們正在考慮的設計方法之一。使用DAO作爲命令
我們正在實施一個Java Web服務提供者,它對關係數據庫中的數據起作用。我們的提議類是:
- IDAO - 與execute()方法
- GetCustomerDAO和UpdateCustomerDAO實現IDAO
- DAOFactory接口 - 列出DAO的是讀取其具有的DAO的映射被調用用於配置文件一項特定的服務。
- ServiceImpl - 包含getCustomer,updateCustomer方法。該服務使用DAOFactory來獲取DAO對象列表,然後遍歷該列表並調用DAO.execute方法。
我認爲這更像是我們將DAO轉換爲Command。但是,由於某些原因,我不太喜歡這種方法: - 在ServiceImpl中:您不能影響被調用的DAO流。對於例如如果我不想執行第二個DAO而執行第三個DAO,執行第一個DAO之後,很難實現這個。 - 除了不知道我們是否可以在概念上使用DAO。因爲一個Command對象可以有業務邏輯,但是DAO應該只處理讀寫數據到db的方面。
請讓我知道您的意見是否設計看起來合適。謝謝
感謝沃爾TER值。所以你的建議基本上是直接調用ServiceImpl中的DAO方法。我喜歡這種方法。 – Rohit 2010-10-18 15:37:37
是的。服務層將持久性委託給DAO(使用依賴注入)。 – walters 2010-10-19 08:24:09
@Walters能舉出一個來自UserServiceImpl的方法之一的業務層類的例子嗎? :) – will824 2012-03-05 14:51:06