失血模型的请教

    
pushboy
06-06-12 8 731

最近看domain model,好像大家都很摈弃失血模型,认为domain object中不能只有getter/setter代码,而应该加入不依赖於持久化的逻辑方法
为什么呢?
谢谢

banq
2006-06-12 21:19

那是人云亦云,是MF那套思路,目前实际就是这么做的,而且从四色图一直分析下来到实现,这样做起来好处很大,将领域模型组件和业务组件分离,因为业务组件包括逻辑方法还是需要计算机领域概念支持,如事务、缓存。

模型领域和计算机软件领域有些mismatch,这是现实,而且将来也不可能完全配对,如果为了建模概念完整,强迫软件领域做些不现实的让步,这种方式我是反对的,还是那句话:本来两者就不是同样东西,就象要求EJB模型完全让步于普通JavaBeans模型:POJO,EJB本身就是一个分布式组件,和POJO本质就不一样;还有O/R mapping,让代表数学意义的关系数据库让步于对象,也并不能解决所有问题,所以我们有时还是使用SQL。

什么事情都不能过,分离复用抽象不只是依靠面向对象oo,也就是说不能唯OO。看看SOA吧,多了解些更广泛的概念,这样自己才有把握。


pushboy
2006-06-13 09:08

其实就我个人的感觉和实际
这样的失血觉得很自然
而且,一般来说,getter/setter都可以直接生成
具体的开发过程中蛮容易接受的

banq
2006-06-13 09:30

>失血觉得很自然
同感,因为这种感受是从软件程序员角度出发。
但是对于一个不懂软件的建模专家来说,可能就不自然了,觉得怪异了。

pushboy
2006-06-13 15:20

汗!
不懂软件的建模专家

2Go 1 2 下一页