在NET平台下实现跨语言开发
在.NET 平台下实现跨语言开发
刘 艺
(本文发表在《程序员》杂志2005 年第6 期)
日前读到很多软件公司招聘.NET 程序员的广告,要求程序员统一使用某种编程语言进
行开发,觉得十分可笑。既然是在.NET 平台下开发,那么使用C#、VB.NET 、Delphi.NET 、
J#或别的什么语言究竟有会多大的差别?.NET 平台将不同语言的代码统统编译成中间语言
(IL ),在虚拟机上运行。于是一个程序的好坏已经不是由语言的“高低贵贱”所决定,而
是真正由程序员的水平所决定。因此,招聘到什么水平的程序员,比招到使用什么语言的程
序员更重要。对于一个熟练的程序员,选择使用什么语言写程序已经完全是个人的偏好,这
种偏好应该在支持跨语言开发的.NET 平台下得到尊重和鼓励,以充分发挥程序员的个性和
创造力。
实现跨语言的开发,对于微软一直是一个梦想。微软早几年推出的COM 就希望不同语
言能够通过开发COM 组件来进行实现跨语言的功能调用和代码重用。基于COM 的跨语言
开发听起来不错,但是具体实现起来却比想象的还要难,让人望而却步!
传说中,远古的人类为了上天堂,召集了千万人马修筑通天塔,工程浩大但进展顺利。
上帝知道了后大为震惊,决定立即中止人类的计划。于是,他制造了很多不同的语言给人类
使用。终于,由于语言不通,人类无法协调工作,建造通天塔的计划不得不半途而废。虽然
上帝为了阻止人们建造通天塔而为人类设置了不同语言的,造成了交流的障碍,但这并不妨
碍人们尝试各种方法突破语言障碍的努力。在计算机语言层出不穷的年代,微软的.NET 平
台为使用不同语言的程序员提供了一个比较好的解决方案。
微软的.NET 是一种软件框架,可用于构建和运行不同类型的软件。.NET 框架的多语言
功能使开发人员可以使用最适合给定任务或技能级别的编程语言,并将这些语言合并到一个
应用程序中。用不同语言编写的组件可以透明地利用每个组件的功能,而开发人员也无需进
行任何其他的额外工作,从而使开发人员将精力都集中到编写核心业务逻辑代码当中。目前
已有20 多种商业性和学术性编程语言宣布支持.NET 平台,其中包括APL 、Visual Basic 、
C#、C++、COBOL、Eiffel 、Forth 、Fortran 、Java 、J# 、Prolog 、Pascal 、Delphi 、Perl 、Python
和RPG 。
那么在.NET 平台下如何实现跨语言的开发呢?下面我就通过具体的开发实例来进行介
绍。
我要演示的跨语言开发实例是一个果园系统。首先我们来对该系统进行面向对象的分析
和设计。该果园系统的需求为:
1、园丁投资并种植各种水果;
2 、收获水果,并计算收益。
该系统的用例图如图 1 所示,为了便于说明问题,我选用的这个该果园系统例子并不
复杂。
Container
Fruit
plant
Gardener
Actor
图 1 果园系统的用例图
进一步分析系统,我们可以设计出如图 2 所示的果园系统类图,这里包含了TGardener
TFruit、TBerry、TTropicalFruit、TCitrusFruit 这几个类,其中TGardender 与TFruit 是关联关
系,TFruit 和TBerry、TTropicalFruit、TCitrusFruit 之间是继承关系。
TGardener TFruit
attributes
attribut
原创力文档

文档评论(0)