面向组件开发与面向对象开发的区别
1对象之间的交互是细粒度的,通过单个消息进行交互;组件的交互是通过接口连接进行交互,接口内含
有多个消息,接口不同则需要适配。比喻,信件一封一封的送,是对象之间的交互,信件一次性送完是组
件交互。
2一个组件可以同多种类型的组件连接.
3组件关注不同业务的类似方面,对象关注同一业务的所有方面。假如业务复杂的话,同一个概念实体,
可能包含1000个属性,而这1000个属性可以分类成多个方面,用面向对象方法,那么针对这1000个属性的
操作,就会封装在这个对象里,结果所有操作因为所针对的属性捆绑,而捆绑,不能达到部分重用。组件
提供了更好的方式,针对这1000个属性的操作按方面分开分在不同的组件里,达到部分组件也可针对其他
业务的类似方面重用的目的。
4领域模型本身反映了现实世界的根本复杂性,组件针对的是领域模型的某个方面的相关属性和相关操作
。就像面向方面思想一样,核心concern是概念实体本身,方面则是按逻辑相关性分组的相关属性和相关
操作。不同类型的实体核心concern是不一样的,但一定某几个非核心方面存在类似。对于实现来说,可
以为每个方面申明一个父类,然后从多个方面继承。