由于Java EE世界的新改进,对设计模式负载的弃用,DTO在很大程度上不受欢迎。
但是,我不希望数据库的关系结构决定客户端(Web应用程序)如何使用EJB中的服务。由于技术发展的方式,我认为在光纤技术和其他不可想象的事物成为现实的过程中,在大约5年的时间里,我们正在努力改造用户界面。因此,我希望将业务逻辑完全封装,以便在需要时轻松更改UI。
考虑到这一点,我正在开发一个纯api来代表商业模式和服务,以便客户可以使用它。
但是,我不得不一直编写转换器来将实体bean转换为此API。这是正确的做法还是过度工程化。
您的反馈和意见在很大程度上受到欢迎。
NB。该项目使用完整的Java EE 6平台
答案 0 :(得分:2)
关于最佳进行方式存在矛盾的“宗教”。我和你一样,更喜欢更多面向对象的解决方案,这意味着数据库行(实体)不等于业务领域对象。那么,该怎么办?
我建议您使用典型的工具,例如Hibernate或Spring,用于填充持久层中的实体。然后,使用代理在DB和域层类/对象之间移动状态。
HTH,马克