windows服务是组件吗?到底什么是组件

好好小妖 2009-11-04 01:22:48
windows服务是组件吗?到底什么是组件
...全文
552 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dobzhansky 2009-11-04
  • 打赏
  • 举报
回复
<Programming .net Components> 作者 写过一本 <COM与.NET组件服务> 里头好像有提到.
Dobzhansky 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yuxuanji 的回复:]
.net其实是对Com的升级,以前有本说说是COM2.0

[/Quote]
COM+ 2.0 ?

唉, 结果庞大的类库没有一个是用来替代 com+ 的.
好好小妖 2009-11-04
  • 打赏
  • 举报
回复
有点晕 有没有简单的解释呢 通俗易懂点的 实际应用中DLL EXE 是组件呗
LutzMark 2009-11-04
  • 打赏
  • 举报
回复
.net其实是对Com的升级,以前有本说说是COM2.0
Dobzhansky 2009-11-04
  • 打赏
  • 举报
回复
广义组件, 功能的二进制封装, 位置透明, 语言中立, 可替换等优点, 各种语言和平台都有组件体系, com 组件, .net 组件, corba 组件, java 组件体系(EJB、JNDI、JMI?)

都需要一个运行时提供组件运行和交互的平台.

这里, .net 就是 .net 组件的平台, 同时借助 com interop, 可以使用 com 组件.
trentliu 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dobzhansky 的回复:]
组件是实现 IComponent 接口的类,
.net 定义了 IComponent, ISite, IContainer 之间的关系.

实现 IComponent 的类可以被拖放到设计器上进行可视化设计,
从继承关系上, 控件 Control 也是组件.

IComponent, ISite , IContainer 在设计时和运行时行为有所差别.

组件化一个类, 设计时便利了, 但是还是可以通过代码显式创建,
显示创建时最好也创建(使用) Container 对象, 来管理组件的生命周期.

通常并不从 IComponent 继承来实现组件, 而是从 Component 派生.

由于 web 控件在设计时和运行时的特殊性,

System.Web.UI.Control 并没有从 Component 派生, 而是直接实现了 IComponent

所以, winform 体系下, System.ComponentModel.Component 可以作为组件基类,
web 体系下, System.Web.UI.Control 作为组件基类.
[/Quote]

这个是.net 体系,补充一下上一代COM组件
COM,即组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。
  使用组件的优点:
  组件架构的一个优点就是应用可以随时间的流逝而发展进化。除此之外,使用组件还有一些可以使对以有应用的升级更加方便和灵活的优点,如应用的定制,组件库以及分布式组件等。
  使用组件的种种优点直接来源于可以将它们动态的插入或卸出应用。为了实现这种功能,所有的组件必须满足两个条件:第一,组件必须动态链接;第二,它们必须隐藏(或封装)其内部实现细节。动态链接对于组件而言是一个至关重要的要求,而消息隐藏则是动态链接的一个必要条件。
  COM组件由以Win 32动态连接库(DLL)或可执行文件(EXE)形式发布的可执行代码所组成。遵循COM规范编写出来的组件将能够满足对组件架构的所有要求。COM组件可以给应用程序、操作系统以及其他组件提供服务;自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序;COM组件可以动态的插入或卸出应用。
Dobzhansky 2009-11-04
  • 打赏
  • 举报
回复
组件是实现 IComponent 接口的类,
.net 定义了 IComponent, ISite, IContainer 之间的关系.

实现 IComponent 的类可以被拖放到设计器上进行可视化设计,
从继承关系上, 控件 Control 也是组件.

IComponent, ISite , IContainer 在设计时和运行时行为有所差别.

组件化一个类, 设计时便利了, 但是还是可以通过代码显式创建,
显示创建时最好也创建(使用) Container 对象, 来管理组件的生命周期.

通常并不从 IComponent 继承来实现组件, 而是从 Component 派生.

由于 web 控件在设计时和运行时的特殊性,

System.Web.UI.Control 并没有从 Component 派生, 而是直接实现了 IComponent

所以, winform 体系下, System.ComponentModel.Component 可以作为组件基类,
web 体系下, System.Web.UI.Control 作为组件基类.
xwdd129 2009-11-04
  • 打赏
  • 举报
回复
怎么说,组件就像搭积木游戏中的每一个积木块,用他来组成完成一定功能的系统。

windows服务应该理解成一个执行程序,可基于组件进行设计;

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧