DDD 我的理解
都在谈论DDD 我想说说我的看法,不知对否,望大家执教
所谓的 DDD无异于将所有的业务抽象到领域层,所有的都是对象,所有的对象对自己负责,具体实现时,我的思路是这样的:
首先对业务领域建模,摈弃以往的以数据为中心的思想,首先不考虑哪些需要持久化,尽管根据业务流程进行建模,建模完成后,到了我们考虑哪些数据需要持久化了。从领域对象中找出需要持久化的数据模型,再次审视所有的业务对象的职责,或者通俗的说 ,方法,把握一个尺度,对于所有与持久化相关的操作,如果是简单的CRUD则放到对应DAO中,涉及查询等放到仓储中查询,使用工厂进行对象创建,如对于Lazy-load之类的问题则可以通过仓储和工厂解决。大颗粒度操作抽象到对应服务中。最后就是再次在更高的层次审视整个模型,必要时使用Facade 模式,在系统最上方加一层,如果涉及团队或老系统集成,在必要的Cotext中添加anti-coruption层……
望大家指教