“构件”和“对象”

330 篇文章 4 订阅 ¥19.90 ¥99.00
115 篇文章 0 订阅
本文探讨了构件和对象的异同,指出构件强调服务提供,对象侧重功能实现;构件具有更强的独立性和自描述性,而对象的接口描述方案域。构件可视为对象加上接口,且其粒度通常较粗,包含多个对象。分布式对象技术如CORBA、DCOM、EJB在构件集成中的角色以及构件与中间件的关系也进行了讨论。
摘要由CSDN通过智能技术生成
下面陈述若干我对“构件”和“对象”的认识,有些可能是片面的、不正确的,请各位读者指正:
1.        构件和对象都是对客观世界实体的一种抽象描述,他们的共同特点是信息隐藏和一定的独立性。但是 构件要求是自描述,独立性更强,而对象达不到这一要求,也较为“白盒”了一些。
2.        构件和对象的本质区别: 构件提供的是服务,对象提供的是功能构件接口描述了问题域(problem domain ),而对象接口描述了方案域(solution domain)。
3.        对象是类的实例,对象是动态的;有人说构件是静态的,应该和类相对应;事实上并不尽然,可以这样看,在特定领域体系结构(DSSA)中定义的构件是静态的,而集成到应用系统中的构件是动态的,目前尚未见到有人对它们的区别。
4.        存取构件和对象中的信息都必须通过它们的接口,构件的结构有必要充分描述它的语义,对象做不到这一点,所以对象需要另加接口才可以成为构件,所以有人认为 构件=对象+接口,我认为这只是构件的充分条件。
5.        分布式对象CORBA/DCOM/EJB的实现体是不是构件,或者是不是只有它们才是构件,我这样认为,构件的独立性、封闭性和异构性要求构件之间存在很强的通信能力,所以第三方协调是必要的,恰好这些基础设施(infrastructure)起了这样的作用,其实他们并非专门为构件而设计,它们的出发点是以“分布”为目的。人们在研究CBD集成/组装时由于没有其它的通信技术,所以它们自然地成为构件工业标准,我想强调构件复用可从来没用指明一定要分布式(放在服务器上),它看重的还是集成/组装的技术。不过这些标准很识时务,都在向构件方向发展,比如CORBA CCM标准。这里我想说一句题外话,就是这几个标准为什么有人说是中间件的标准,我想还是因为他们的异构能力和通信能力使他们成为开发以(消息)转换、交互为目的的一类软件的有力武器,你可千万别把中间件当成了构件(现在国内很多公司都在这么说),或者把中间件拓宽其范围成为构架,这也是不妥的。
6.        构件的接口是一种服务提供者对消费者的承诺:即契约(contract);用契约确保一组构件之间的行为组合。对象就没有这个说法。由于服务存在的持久性,所以服务都是永久性存储对象。
7.        构件的粒度一般较粗,它可能包括一个或多个对象(或类),它的接口一般也比对象复杂。
8.        ……
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值