|
基于组件的.NET软件开发(1)(1)
基于组件的.NET软件开发XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 前言 随着软件技术的飞速进步,现代的大型软件都广泛采用了基于软件组件的开发方式。以成熟的CBD(Component Based Design:基于组件的系统设计)理论为指导,在对系统的分析与设计完成之后,系统开发体现为复用已有组件、开发新组件以及将所有组件装配起来的过程。J2EE大规模地使用各种组件构照复杂的企业信息系统,获得了巨大的成功。 作为后来者,.NET framework汲取了J2EE的成功经验,在组件化开发方面有着自己独到的设计,在本文中,我们将介绍.NET组件化开发技术的最重要的两个范畴:混合语言开发与组件反射。笔者有充分的理由确信读者在了解了.NET的强大组件开发功能之后,一定会对.NET framework的设计和开发者敬佩不已,并会激起应用.NET来开发软件系统的强烈兴趣。 混合语言开发 Java语言跨平台的设计,是J2EE在企业级系统中占据优势的重要原因,为了与J2EE竞争,.NET framework在设计体系结构上采用了分层的设计模式,从而在理论上使跨平台成为了可能(事实上,已有真实可用的系统,MONO就是运行在非Windows操作系统之上的.NET framework),.NET设计师们还发现了J2EE的一个死穴——J2EE组件必须用Java语言开发!这种使用语言上的“独裁”无疑让喜爱其它语言的程序员们很不高兴。为此,.NET在软件开发史上首次在设计软件运行平台时就考虑到了混合语言开发,在笔者看来,这真是一次影响深远的技术变革。 本文不打算全面介绍.NET framework中混合语言开发的内部机理,而只是从应用角度,通过几个短小却典型的实例,来看看我们如何在一个工程中集成多种语言开发的.NET组件。 组件的组合 当我们需要复用已有的组件的功能来开发新系统时,我们经常让新开发的组件简单地包容另一个已有的组件,以达到代码重用的功能,这种开发方式在面向对象设计理论中被称为“组合”。我们看看一个小例子: 我们要设计一个C#组件,其接口如图1所示: ASPectratio="t" v:ext="edit"> CSharpClass.jpg" align=baseline border=0>
|