公共对象平台:Common Object Platform(COP)

 软件可分为几种:系统类软件,应用类软件,和中间件类软件;系统类软件诸如各类操作系统,不用细说;应用类软件,面向特定的行业,特定的应用环境,对于语言和开发库的选择,围绕应用进行,如何提供更友好的交互方式,更贴近使用者,更快的推向市场,是其重点关注的内容;中间件类软件介于系统和应用类之间,为应用类提供快速开发上的支持。
   中间件类软件,为应用软件提供支持,而应用软件开发语言和环境的选择多种多样;如何能够简化中间件类软件开发,使其能够使用多种开发语言和开发环境,是这里关心的内容,不仅仅是中间件类软件本身语言和开发环境的选择。譬如:
   中间件选择C++语言开发,如何在Python,JAVA,lua,Ruby,C#等语言环境中使用该中间件。目前做法是为每种环境提供相关的接口库,如此在开发上,就需要了解每种语言的接口方式,再加上开发,测试调试,以及后期的维护,升级,这是相当大的工作量和浪费,不仅仅是中间件本身复杂;而且对于使用这些中间件的应用软件开发者来说,也增加了维护的负担。
   微软推出了.Net,以期解决该问题。.Net通过脚本虚拟机,为不同语言提供了统一的环境,其提供的环境是编译层次的,已有的C/C++等,并不适合,因此有了Managed C++,及其主导的标准,但Managed C++等并不是原生的,所以C#出现了,C#是.Net的原生语言。基于.Net虚拟机,微软系列的各种语言和工具有了一个统一的环境,这种环境是在编译的时候,因此就有了对语言的改造和约束,也同时对其本身的适用范围产生了约束。例如:python,JAVA编写的函数,就不能够在.net上运行。也为开发人员带来的相当的负担,需要学习新的语言,新的工具。
   为使各种语言能够融合,从语言本身的改造显然不是很好的方式,也得不到广泛的支持。需要探讨一种新的方式,一种更加简单的方式,一种不需要改造语言本身的方式。这就是这里提出的公共对象平台。通过一种运行的平台,借助于对象的概念,使各种语言都能够操纵这些对象,从而达到各种语言运行时融合。
   对于不同语言来说,对象有各自的描述语法和定义方式,那么在运行时呢?对象即为计算机内存中的一块存储区域,该区域包含着属性的定义,包含着方法和事件的定义;而各种语言都提供了对内存对象操作的方式,因此只要有一个统一的平台,实现这种映射关系,就可以实现运行时的融合。如下图:

    公共对象平台完成运行时对象到各种语言的映射;使各种语言在运行时融合在一起;采用python开发的中间件;在lua,c++,java中同样可以使用。采用c++开发的中间件,在lua,python,java等语言中可以使用。
    在公共对象平台中,为实现映射,需要进行对象的定义和描述;定义对象的属性,对象的方法和事件原型。定义好之后,公共对象平台就可以根据对象的定义,完成内存中的对象到各种语言的映射。同时有了对象定义之后,内存中的对象就是透明的,可以通过公共的管理工具,对其进行管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值