实践ddd,太让人沮丧了。。
现在很沮丧啊。。。
前段时间负责的项目,雄赳赳的采用领域对象的方式来建模和编写。
将系统分成: controller > 粗粒度service > context > repository > dao 这几层来进行开发,
同时,借鉴 dci的架构 将bo的行为移到了role中。同时对bo进行了缓存。
本来觉得挺好的,但在实践中,
却遇到了不少问题:
原有系统架构下的缓存在集群下同步问题,
开发方式改变的不适应问题。
除了这些客观的原因。
更致命的是,由于是第一次尝试,经验不足,不能很好的分离领域对象,和它们之间的关系!
很多时候不知不觉就使用了原来的开发方式,
比如,
一个repository,写着写着就成了dao。。。
一个service,写着写着就把role,context的事做了。。
一个bo,写着写着,不知道该咋维护它的状态了,哪里都担心出问题,没有使用db那么踏实。
很多时候不知道怎么用领域设计的思路来抉择,
比如,
记录的分页查询,是直接使用dao呢,还是组装bo?
往前台发送的数据应不应该是bo?
bo太过重量级,它里面的每个关联对象是不是该使用懒加载方式呢,但这样会不会让bo的代码很冗余?
bo的状态该怎么维护呢。。。
等等,这段时间头都大了,不停的修改代码,但系统功能开发并没有多大进展。。
距离代码打包期越来越近,人也越来越焦虑,时时有使用原来的 controller > service > dao开发方式几下子搞定的冲动。。
ddd 远看很美好,实践起来很困难。。。唉, 沮丧的很。。。