我在DDD中添加@Stateful,@ Stateless,@ WebService等应用程序层(应用程序服务)吗?从下面的链接看来这是正确的。
第二个问题:如果涉及存储库的所有方法调用都在应用程序服务中进行包装,那么我已经建立了一个存储库类?或者我可以直接使用存储库类,比如在JSF中支持bean吗?何时以及我将什么放入应用程序层。我不明白EJB在这个艺术设施中的位置。
应用层:此层协调应用程序活动。它不包含任何业务逻辑。它不保存业务对象的状态,但它可以保持应用程序任务的进度状态。
答案 0 :(得分:6)
Java EE提倡贫血模型,这与DDD相反。如果您想要DDD,您的实体也必须执行业务逻辑,这与服务层和实体的分离相反。
答案 1 :(得分:0)
假设在DDD架构中,应用层和所有其他层仅与系统的下层通信。出于这个原因,应用程序服务包装存储库,但如果您使用依赖关系,则可以在应用程序服务层重用所有存储库
AppService的真正工作是协调其他服务或存储库或包含域服务的操作。
在您的实体中,必须只是关于您自己的实体的业务逻辑。始终尊重单一责任原则(http://www.developerfusion.com/article/137636/taking-the-single-responsibility-principle-seriously/)。
我希望有所帮助