我需要一个建议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