- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
插件技术原理及其C#实现.doc
插件技术原理及其C#实现
插件是一种遵循统一(的)预定义接口规范编写出来(的)程序,应用程序在运行时通过接口规范对插件进行调用,,以扩展应用程序(的)功能..插件在英文中通常称为plug-in、plugin或者plug in..插件最典型(的)例子是Microsoft(的)ActiveX控件和COM(Component Object Model,,部件对象模型)实际上ActiveX控件不过是一个更高继承层次(的)COM而已..此外还有Photoshop(的)滤镜(Filter)也是一种比较常见(的)插件。
关于ActiveX和COM
在Microsoft(的).Net Framework 推出(的)之前(大约是2003年之前吧),,ActiveX和COM可是炙手可热(的)技术啊!在那个年代,,一个顶尖(的)VC++高手(的)标志是什么?是会COM编程!不知道IUnkonw接口和QueryInterface函数,,您怎么可能通过Microsoft(的)MCSD认证考试?
现在当然不同了,,我曾经见过不少断言COM和ActiveX已经消亡或终将消亡(的)文章..但是不管怎么说,,个人认为,,ActiveX和COM代表了插件技术(的)最高境界,,通过对ActiveX和COM(的)研究,我们可以对插件有更深刻(的)认识..
插件技术过时了吗?
COM技术(的)逐渐淡出,,使不少程序员产生了困惑::插件技术已经过时了吗?
NO!至少我不这样认为!毕竟,,没有了插件技术,,我们还有什么更好(的)技巧为应用程序提供运行时(的)功能扩展呢?
COM(的)没落自然有其原因,,例如编程实在是太复杂而难以掌握,,还有就是在这个病毒和木马肆虐(的)年代,,其安全性也令人堪忧..但至少我们可以看到,,插件技术(的)成功应用还是有(的)::比如PhotoShop(的)滤镜,,比如各大主流工控工具软件(的)功能扩展。
关于ActiveX控件和COM技术(的)详细介绍,,有兴趣(的)朋友不妨去“百度一下”,相信能够获(得)很多相关信息(的)。
对于插件(的)理解,,我们应该注意以下几点:
一、插件是遵循统一(的)预定义接口规范编写(的)。
下面我以微软(的)ActiveX Control Test Container为大家解释一下插件(的)接口定义:
1、打开VS.NET 2005;
2、点击主菜单(的)“工具”菜单;
3、如果在“工具”菜单中未找到“Activex Test Container”,则点击“工具”-〉“外部工具”,在“外部工具”对话框(的)“菜单内容”列表框中,选中“Activex Test Container,,然后点击右上角(的)添加“按钮,,再点击左下角(的)”确定按钮“,此步骤将在在“工具”菜单中添加“Activex Test Container”菜单项;
4、点击主菜单(的)“工具-Activex Test Container”菜单项,,运行”Activex Test Container ,如果找不到Activex Test Container 可选择“添加”命令选择tstcon32.exe.即可添加该工具。
5、在“Activex Test Container”程序中点击“编辑-插入新控件”菜单;
6、在“插入控件”对话框中找到“日历控件 11.0 控件,,点击确定;
7、点击“控件”-〉“调用”技巧,,弹出“调用技巧”对话框,,按下图所示(的)技巧将日历控件(的)背景色设置为红色;
在这里,,“BackColor”是一个预定义(的)通用(的)Activex控件接口函数,,用于设置控件(的)背景颜色..
二、应用程序是在运行时调用插件以实现功能扩展(的)
插件最吸引人(的)(地)方当然就是其所实现“运行时(run-time)功能扩展..这意味着工具软件开发者可以通过公布插件(的)预定义接口规范,,从而允许第三方(的)工具软件开发者通过开发插件对工具软件(的)功能进行扩展,,而无需对整个程序代码进行重新编译..
运行时(run-time)是相对于编译时(assembly-time)而言(的)..一般来说,,工具软件开发者对工具软件功能更新时,,是在源代码级别进行更新,,然后对整个程序进行重新编译,,进而发布应用程序(的)新版本,,这就是编译时(assembly-time)(的)工具软件更新..
三、插件技术(的)优缺点:
运行时(的)工具软件功能扩展其优点是显而易见(的):
对工具软件(的)开发者而言,,只需对主程序和某些常用插件进行更新和维护,,然后通过公布插件接口吸引第三方(的)工具软件开发者对主程序(的)功能进行扩展,,这是一种“我为人人,,人人为我”(的)双赢策略;
对最终用户而言,,可以通过有选择(地)购买第三方提
文档评论(0)