DDD和应用层

时间:2012-02-17 07:08:38

标签: java java-ee domain-driven-design ejb

我在DDD中添加@Stateful,@ Stateless,@ WebService等应用程序层(应用程序服务)吗?从下面的链接看来这是正确的。

第二个问题:如果涉及存储库的所有方法调用都在应用程序服务中进行包装,那么我已经建立了一个存储库类?或者我可以直接使用存储库类,比如在JSF中支持bean吗?何时以及我将什么放入应用程序层。我不明白EJB在这个艺术设施中的位置。

  

应用层:此层协调应用程序活动。它不包含任何业务逻辑。它不保存业务对象的状态,但它可以保持应用程序任务的进度状态。

http://www.infoq.com/articles/ddd-in-practice

2 个答案:

答案 0 :(得分:6)

Java EE提倡贫血模型,这与DDD相反。如果您想要DDD,您的实体也必须执行业务逻辑,这与服务层和实体的分离相反。

答案 1 :(得分:0)

假设在DDD架构中,应用层和所有其他层仅与系统的下层通信。出于这个原因,应用程序服务包装存储库,但如果您使用依赖关系,则可以在应用程序服务层重用所有存储库

AppService的真正工作是协调其他服务或存储库或包含域服务的操作。

在您的实体中,必须只是关于您自己的实体的业务逻辑。始终尊重单一责任原则(http://www.developerfusion.com/article/137636/taking-the-single-responsibility-principle-seriously/)。

我希望有所帮助