基于C#的插件框架设计和实现.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于C#的插件框架设计和实现.pdf

第27卷第 1期 计算机应用与软件 Vol_27No.1 2010年 1月 ComputerApplicationsandSoftware Jan.2010 基于 C#的插件框架设计和实现 申启杰 凌 捷 (广东工业大学计算机学院 广东 广州 510006) 摘 要 分析了当前软件开发过程中常见的两个问题,讨论了解决问题的插件技术的四种常用框架,分析了它们的优缺点,最后 利用C}}提供的接 口和反射机制,设计和实现了一个轻便灵活的DLL插件框架。 关键词 插件 接 口 反射 C# DESIGN AND IMPLEMENTATIoN ’oFPLUG.IN FRAMEW oRK BASED ON C撑 ShenQijie LingJie (FacultyofComputer,GuangdongUniversityofTechnology,Guangzhou510006,Guangdong,China) Abstract Twoproblemsofcurrentsoftwaredevelopmentareanalysed.Andthenfourcommonlyusedplug—inrfameworksforsolvingthe problemsarediscussed,andtheadvantageanddisadvantageofthem areanalysedaswel1.Finally,takingtheinterfaceandreflectionmecha— nism providedbyC#.alightweightandflexibleplug—in—frameworkinterfaceisdesigned. Keywords Plug—in Interface Reflection C# 插件框架中完全可以将所有的功能模块都做成插件,当面临一 0 引 言 个新的应用领域的时候只需要设计新的功能模块即可。 随着业务的增长 以及市场的快速变化,近年来软件开发领 1 插件框架分析 域面临两个重要的问题 ,一个问题是如何迅速实施软件应用,占 领市场先机,另一个问题是如何应对多变的需求。传统的软件 在 目前的软件设计中,常见的插件框架主要有下面几种: 开发方法和软件架构往往不能敏捷应对市场的需要,在开发一 (1)脚本式插件框架 这种方式使用某种语言,例如 py- 个应用的时候会花费大量的时间,使得开发出来的软件有 “过 thon、XML,把插件的程序逻辑写成脚本代码 。插件设计很灵 时”的危险。另一方面,需求的变化也会对软件设计和重构带 活,只要定义好一组通信语法即可,甚至可以自行设计一种脚本 来沉重的打击。例如在软件开发后期,用户需要一个新的功能, 语言来配合程序的特殊需要。但是这种方法实现的插件必须要 哪怕这个功能很小,都会引起一连串连锁的修改扩散反应,并给 加密,否者用户很容易通过修改脚本来破坏程序的逻辑,而且需 测试和集成带来压力。而当软件已经部署在用户的应用环境中 要设计脚本解释器来解释插件。MSOffice中的宏 、漏洞扫描工 后,因为政策变化或新的业务需要,用户要增加新的功能,在确 具 Nessus都是使用这种插件方式。 定了用户的需求后,却发现原有的软件架构已经无法胜任新增 (2)二进制调用方式的插件框架 二进制调用方式将插件 任务的需求,这时需要重新设计这个应用。但即使又用了一个 功能直接编译为EXE。宿主程序具有 自己的基本功能,同时还 开发周期完成了用户需要的应用,却仍不能保证用户的需求不 负责调度

文档评论(0)

6f4f6f4d2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档