您是否应该使用实体Bean进行域模型

时间:2011-02-21 11:07:14

标签: java domain-driven-design ejb-3.0 ejb-3.1 anemic-domain-model

由于Java EE世界的新改进,对设计模式负载的弃用,DTO在很大程度上不受欢迎。

但是,我不希望数据库的关系结构决定客户端(Web应用程序)如何使用EJB中的服务。由于技术发展的方式,我认为在光纤技术和其他不可想象的事物成为现实的过程中,在大约5年的时间里,我们正在努力改造用户界面。因此,我希望将业务逻辑完全封装,以便在需要时轻松更改UI。

考虑到这一点,我正在开发一个纯api来代表商业模式和服务,以便客户可以使用它。

但是,我不得不一直编写转换器来将实体bean转换为此API。这是正确的做法还是过度工程化。

您的反馈和意见在很大程度上受到欢迎。

NB。该项目使用完整的Java EE 6平台

1 个答案:

答案 0 :(得分:2)

关于最佳进行方式存在矛盾的“宗教”。我和你一样,更喜欢更多面向对象的解决方案,这意味着数据库行(实体)不等于业务领域对象。那么,该怎么办?

我建议您使用典型的工具,例如Hibernate或Spring,用于填充持久层中的实体。然后,使用代理在DB和域层类/对象之间移动状态。

HTH,马克