.NET重要概念总结(VB.NET版)
1.接口(Interface)
(1)由于.NET不支持多重继承,接口很好地处理了这个问题。接口对象可以用接口实现类的实例对象赋值,从而实现接口功能。
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcn7/html/vaconCreatingInterfaces.asp
(2)为何使用接口继承而不用类继承的一些其他原因
接口是一种非常有效的编程工具,因为它们让您能够将对象的定义与实现分离,从而可以在不破坏现有应用程序的情况下使对象得以发展完善。
在应用程序要求很多可能不相关的对象类型以提供某种功能的情况下,接口的适用性更强。
接口比基类更灵活,因为可以定义单个实现来实现多个接口。
在无需从基类继承实现的情况下,接口更好。
在无法使用类继承的情况下接口是很有用的。例如,结构无法从类继承,但它们可以实现接口。 http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcn7/html/vaconwhentouseinterfaces.asp
(3)使用接口实现回调函数(http://blog.joycode.com/percyboy/archive/2005/01/22/43436.aspx )
2.COM+
COM 提供了一种编写基于组件的应用程序的方法。众所周知,编写 COM 组件需要进行大量重复的琐碎工作。而 COM+ 并不完全是 COM 的新版本,实际上,COM+ 为组件提供了一个服务基础结构。组件在构建后安装到 COM+ 应用程序中,可以建立易于部署、吞吐量高、可缩放的服务器应用程序。(如果组件不需要使用任何服务,则不应放到 COM+ 应用程序中。)为了达到可缩放性和吞吐量目标,需要从一开始就使用事务、对象池和活动语义等服务来设计应用程序。
http://www.microsoft.com/china/MSDN/library/archives/library/dndotnet/html/entserv.asp
和类一样,接口也定义了一系列属性、方法和事件。但与类不同的是,接口并不提供实现。它们由类来实现,并从类中被定义为单独的实体。接口表示一种约定,实现接口的类必须严格按其定义来实现接口的每个方面。有了接口,就可以将功能定义为一些紧密相关成员的小组。可以在不危害现有代码的情况下,开发接口的增强型实现,从而使兼容性问题最小化。也可以在任何时候通过开发附加接口和实现来添加新的功能。
虽然接口实现可以进化,但接口本身一旦被发布就不能再更改。对已发布的接口进行更改会破坏现有的代码。若把接口视为约定,很明显约定双方都各有其承担的义务。接口的发布者同意不再更改该接口,接口的实现者则同意严格按设计来实现接口。
Visual Basic .NET 以前的 Visual Basic 版本可以使用接口,但不能直接创建它们。Visual Basic .NET 允许用 Interface 语句定义真正的接口,并允许用改进版本的 Implements 关键字来实现这些接口。
这里就几个问题讨论:(1)为什么要使用接口 (2)使用接口继承,而不用类继承(3)接口如何实现回调函数(1)由于.NET不支持多重继承,接口很好地处理了这个问题。接口对象可以用接口实现类的实例对象赋值,从而实现接口功能。
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcn7/html/vaconCreatingInterfaces.asp
(2)为何使用接口继承而不用类继承的一些其他原因
接口是一种非常有效的编程工具,因为它们让您能够将对象的定义与实现分离,从而可以在不破坏现有应用程序的情况下使对象得以发展完善。
(3)使用接口实现回调函数(http://blog.joycode.com/percyboy/archive/2005/01/22/43436.aspx )
2.COM+
COM 提供了一种编写基于组件的应用程序的方法。众所周知,编写 COM 组件需要进行大量重复的琐碎工作。而 COM+ 并不完全是 COM 的新版本,实际上,COM+ 为组件提供了一个服务基础结构。组件在构建后安装到 COM+ 应用程序中,可以建立易于部署、吞吐量高、可缩放的服务器应用程序。(如果组件不需要使用任何服务,则不应放到 COM+ 应用程序中。)为了达到可缩放性和吞吐量目标,需要从一开始就使用事务、对象池和活动语义等服务来设计应用程序。
http://www.microsoft.com/china/MSDN/library/archives/library/dndotnet/html/entserv.asp

浙公网安备 33010602011771号