面向对象与面向组件

面向对象与面向组件

ID:16036306

大小:37.50 KB

页数:2页

时间:2018-08-07

面向对象与面向组件_第1页
面向对象与面向组件_第2页
资源描述:

《面向对象与面向组件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、概念面向对象编程(OOP):面向对象编程是一种起源于六十年代,发展已经将近三十年的程序设计思想。其自身理论已十分完善,并被多种面向对象程序设计语言(Object-OrientedProgrammingLanguage,以下简称OOPL)实现。对象是对现实世界实体的模拟,由现实实体的过程或信息牲来定义。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应。这些对象操作有时称为方法。区别面向对象的开发和传统过程的开发的要素有:对象识别和抽象、封装、多态性和

2、继承。面向组件编程(COP):面向组件编程是一种组织代码的思路,尤其是服务和组件两个概念。Spring框架中,就采用了COP的思路,将系统看作一个个的组件,通过定义组件之间的协作关系(通过服务)来完成系统的构建。这样做的好处是能够隔离变化,合理的划分系统。而框架的意义就在于定义一个组织组件的方式。组件不是一个新的概念,Java中的javaBean规范和EJB规范都是典型的组件。组件的特点在于他定义了一种通用的处理方式。例如,JavaBean拥有内视的特性,这样就可以通过工具来实现JavaBean的可视化。而EJB规范定义了

3、企业服务中的一些特性,使得EJB容器能够为符合EJB规范的代码增添企业计算所需要的能力,例如事务、持久化、池等。二、区别1、面向对象中,对象之间的交互是细粒度的,通过单个消息进行交互;面向组件中组件的交互是通过接口连接进行交互,接口内含有多个消息,接口不同则需要适配。比如,信件一封一封的送,是对象之间的交互,信件一次性送完是组件交互。2、组件的粒度比对象要大,在面向对象系统设计中,对象是构建系统的基本建筑材料;面向组件系统开发中,组件是系统的基本建筑块;组件有点类似子系统的概念,把一组相关的对象封装起来对外提供服务;组件的

4、存在增加了信息的隐蔽程度,减少了馈入上层信道的信息数量,从而增加了系统的稳定性;2、面向对象中强调封装,继承,多态;对象是类的实例,说到对象,往往是指源代码级的类的定义及其实现;在面向组件强调封装,在复用方面更多的是强调黑盒复用。组件中,接口的概念特别被强调。接口是组件的和组件使用者之间的契约;接口的确定使得组件的开发者和使用者得以分开。3、组件集中关注业务的职责,明确业务边界;对象关注同一业务的所有方面。假如业务复杂的话,同一个概念实体,可能包含1000个属性,而这1000个属性可以分类成多个方面,用面向对象方法,那么针

5、对这1000个属性的操作,就会封装在这个对象里,结果所有操作因为所针对的属性捆绑,而捆绑,不能达到部分重用。组件提供了更好的方式,针对这1000个属性的操作按职责分在不同的业务组件里,同时部分有公用可能的组件也可针对其他业务的提供某些方面的重用。4、作为构建系统的基本建筑块,组件需要容器的帮助。容器为组件提供了运行环境,使组件能在一个较高的平台上完成自己最擅长的工作而不用考虑过多的底层细节。在组件中往往要实现一些容器所需的回调方法,来进行容器与组件间的沟通。容器也向组件提供一些公用的接口,使组件能够使用容器提供的服务(事务

6、,安全等等)。容器的存在使得组件的使用者与组件的组装(配置)者得以分开。组件总是一定容器内的组件。由于组件生活在容器中,组件的管理尤其是生命周期的管理就成了容器的职责。生存在容器中,组件的状态(state)、持久性、通信方式也是必须要考虑的一些问题。由此产生了组件的类别。5、领域模型本身反映了现实世界的根本复杂性,组件针对的是领域模型的某个方面的相关属性和相关操作。就像面向方面思想一样,核心关注的是概念实体本身,方面则是按逻辑相关性分组的相关属性和相关操作。不同类型的实体核心关注的是不一样的,但一定某几个非核心方面存在类似

7、。对于实现来说,可以为每个方面申明一个父类,然后从多个方面继承。三、优缺点项目优缺点优点缺点面向对象编程1、使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,结果编程就更加富有人性化。2、易维护;3、易扩展;1、相比面向过程(比如:c)的开发方式从性能上要逊色些。面向组件编程1.组件的大小粒度可调;2.我们可以专注于业务的实现,而不需要考虑于业务无关的编码;3.从最大程度上提高了业务功能的复用与解耦;4.采用了稳定的组件包,增强了应用的稳定性和健壮性.;5.采用组件编程,编写的代码更少,但是功能更强,更稳定.1

8、、面向组件编程对代码的要求很高,需要大家一起来探讨和共享;2、相比面向对象编程在组件与组件之间通信时可能会消耗性能,但采取适当的协议和数据格式可能会减小些;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。