我正在考虑实施领域驱动设计方法(类似于here中描述的方法),但希望将其与Doctrine ORM集成。有没有人做过这样的事情?我的初始本能就是使用Doctrine作为DAO层,但对于Doctrine来映射我的数据库字段,我的实体对象映射到Doctrine对象上的(基本上)相同的一组字段似乎有些复杂。使用领域驱动设计原则
我最初的目标是将我所有的DQL /查询逻辑从我的域实体中分离出来,但现在我在设计模式域中感觉有点迷失。
我知道Doctrine 2应该提供更友好的方法来DDD技术,但我不知道我想等那么久。我想做什么是有意义的,还是应该找到另一种方法?
谢谢。
谢谢。我认为这个回应完全反映了我的经历。学说的方格钉恰好不适合DDD的圆孔。我最终将我的Doctrine_Record类视为我的实体,并使用Doctrine_Table作为DAO层实现了一个基本的Repository类。虽然它确实给了我想要的大部分分离,但它确实感觉有点笨拙,或者架构过度,因为有时存储库感觉有点多余。 – 2009-09-02 02:16:30
偶然发现Google的这个答案,并认为值得注意的是,现在已经过时了,因为Doctrine2实现了数据映射器模式,实体是POPO的,因此它非常适合DDD并且非常适合SRP。 – 2015-08-20 13:08:46