yananay
2010-10-21 00:05
"对于外部而言,如果一开始就调用的user域对象的方法就惨了,因为后来增加的业务应该是user与其他对象协作一起完成的,不能放在User内部,但是放在服务里就没问题了"

严重错误。照你这么说,如果一个领域对象需要和另一个领域对象交互,就必须放到服务里了?

就这个问题来说,如果后来增加审批什么的流程,应该需要采取一些手段(例如参考一些设计模式)去解决他,或则你分析以下,是否审批的流程,就是一个领域模型。

其他的不说了。总之,我并不觉得大项目有多了不起,领域模型的作者,做过多少年的大项目呢?我也不觉得某个成熟的理论会依照上下文的场景而变得不同。

SpeedVan
2010-10-21 22:58
审批流程?我首先想到责任链模式。比起看if else舒服多了,可以把策略和责任链合起来用,把责任流程作为一种策略,不过每次都得从头遍历,流程太长的话···╮(╯▽╰)╭,不过对于流程不稳定的,调整很方便(链嘛)。

而DDD只是“一种”指导思想,你完全可以不用,你可以用你自己的。只是很多程序员觉得不舒服的设计,终于有一个不错的指导了。

还有可以看看Jimmy Nilsson的《Applying Domain-Driven Design and Patterns》,ddd如何与pattern结合起来,不过可惜是.net的,反正是思想,最多读得有点累而已。

大项目有多了不起···大项目对整体,细节,效率,质量,思考,运用,基础,创新,场景,人选都有很高要求,而这些正好用来考验新思想能解决那些和不能解决那些的问题,做大项目,也是对人对团队的能力的全面考验。而我们当中遇到的问题,正是要想如何去解决的,于是思想就会不断进步。我们一般做的项目,能发现多少问题···(负载?并发?甚至可能连复用都···)大项目就像能把问题放大,让问题更加容易发现,更加清晰,更加容易理解。

猜你喜欢
3Go 上一页 1 2 3