.NET组件模型说明

PaN*_*1Me 8 .net components system.componentmodel componentmodel

首先,我不得不说我要谈谈System.ComponentModel.Component.

您知道,我知道,.NET Component Model提供能力(通过站点服务)来定义单独的Components,因此它们可以以松散耦合的方式相互通信,并且每个都Component可以轻松替换.

但我要说的是,我能以其他方式做到这一点:我的意思是,如果我在正确的设计SW Object Oriented Programming的方式,我可以用的手段Abstract classes,Interfaces等实现上述所有的功能/互操作性.

那么为什么何时我要依靠组件模型?

Dea*_*ing 7

好吧,你可以使用自己的基类,接口等来完成它.实际上,这正是System.ComponentModel中的内容.它是一组通用的接口和基类,因此您可以实现组件并将其与其他人的实现一起使用.

如果您只是编写自己的基类和接口,那么任何想要与您的代码进行交互的人都必须使用您的类.如果他们想同时与两个不同供应商的组件集成,该怎么办?

特别是WinForms中的所有东西都使用System.ComponentModel来实现可以放在表单上的控件.他们必须选择一些接口来表示,那么为什么不在System.ComponentModel中定义?为什么他们会建立自己的,当已经有一个完美的设计已经可用?