使用现有(第三方)数据模型(Java)进行领域驱动开发
首先,我想说,我开发软件的标准方法可能是许多开发人员的典型方法。。。我有行为丰富但没有状态的服务,还有只有状态而没有行为的对象(bean)(我认为这通常被称为贫血域模型) 我已经决定在一个新项目上尝试一种领域驱动设计(DDD)方法,但是我有几个问题真的很困扰我使用现有(第三方)数据模型(Java)进行领域驱动开发,java,hibernate,oop,domain-driven-design,anemic-domain-model,Java,Hibernate,Oop,Domain Driven Design,Anemic Domain Model,首先,我想说,我开发软件的标准方法可能是许多开发人员的典型方法。。。我有行为丰富但没有状态的服务,还有只有状态而没有行为的对象(bean)(我认为这通常被称为贫血域模型) 我已经决定在一个新项目上尝试一种领域驱动设计(DDD)方法,但是我有几个问题真的很困扰我 我有一个我的组织使用的现有第三方数据库(该数据库与业务紧密耦合,对此我无能为力:我不希望任何评论提及如果第三方更改其数据模型,这可能会导致问题……我知道!!)。我创建了hibernate实体来表示数据,但是我不确定如何将其转换为符合DDD
- 确定hibernate实体中的关键实体,并尝试将这些实体与相关的值对象打包在一起(我认为这非常困难,因为我从数据开始并创建一个域…任何关于实现这一点的方法的建议都是欢迎的)
- 对于我识别的每个包,我都创建了一个存储库来管理实体
- 在每个存储库(例如StudentHibernateRepository)中,我获取所需的hibernate实体,并将它们封装在代理类中
- 在每个代理类中,我添加了我的业务规则,通过这些规则将包装好的hibernate实体用作数据源(再次尝试丰富我的代码行为)