|
|
进来将数年来使用的语言与工具加以总结,有如下体会: 广为流行的c++,delphi语言对面向对象功能的实现能力已经很强大了,但在组件化编程时 出现了很大困难,以com为例,如果没有所谓向导和工具,其编程是非常困难的。com的复 杂性很大程度是并不是必须的,微软转向.net平台,com未来的空间不会很大。而.net组件 编程和com的差距比java要大。c#被设计为面向组件的语言。 其实java本身也可以成为面向组件的语言,其组件化的成熟度强于.net 1、简洁的组件化规范 构造一个bean比一个com组件轻松的多
2、classloader机制,比较classloader机制和com 的CreateObject可以发现其灵活性强很多,由于自定义classloader的灵活性,可以将功能在组件容器和组件之间合理的分配。 3、组件元信息和反射机制 com中的元信息由typelib定义,存储在注册表中。而java将元信息可以通过反射机制在运行期获取,其宿主就是.class文件本身。
4、接口和实现的分离 sun公司对java的控制采用了一种很好的方法,sun提出接口定义,各公司可以提供自己的实现,避免了linux式的混乱和微软的专制,这很大程度上依赖于java的面向组件的特性。 对java面向对象的研究很多,其出发点是如何java对象的组合表达问题中的概念,而面向组件的研究着眼与接口和实现的分离,以及可动态组装的系统,这一点对构造成功的系统同样重要
|
|