面向对象和面向组件有什么不同?

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:14:08

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