《基于.NET+平台的插件式系统开发.NET+平台的插件式系统开发》.pdf

《基于.NET+平台的插件式系统开发.NET+平台的插件式系统开发》.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《基于.NET+平台的插件式系统开发.NET+平台的插件式系统开发》.pdf

基于.NET 平台的插件式系统开发 潘昊,何祥军 武汉理工大学计算机学院,湖北武汉(430070 ) E-mail :attachement@163.com 摘 要:在软件开发过程中,常要面对因需求变化而引起软件更改的情况,不但软件主体需要 变动,同时部署也需要变动。这种代价可能是巨大的。本文针对这种情况,使用插件式的软件 开发方法,成功地避免了因需求变化而造成软件更改的弊端,使系统的可扩展性更强。同时也 说明了插件式(Plug-In) 开发是一种良好的软件开发方法。 关键词:反射,插件,程序集 中图分类号:TP311.1 1. 引言 随着计算机技术的发展,计算机技术开始应用于国民生产中的各个方面,各行各业的软 件需求,一方面为软件开发提供了机会,另一方面,也为软件开发带来了挑战。某些时候,不 同用户的需求可能只有某一小部分不同;有些时候,用户的需求可能会随着时间的变化而改 变。如何设计一种软件,当用户的需求变化时,只需要替换这些变化的部分,而程序的其他部 分不需要作任何变动;同时,对于某一类特殊的用户,为其提供特殊的功能,而不需要把所有 的功能都提供给他们。“为了设计适应这种变化、且具有健壮性的系统,你必须考虑系统在它 [1] 的生命周期内会发生怎么样的变化。” 。 针对这种用户需求可能会变化的情况,本文利用插件式开发方法,通过.NET 平台的反射 (Reflection)机制,把对象生成的时机推迟到运行时,根据用户的需求动态加载用户实际需要的 组件,同时,当用户需要新的功能时,只需要把新功能以插件的方式发布给用户,而程序不需 要做任何变动。 2. 实现原理 在.NET 平台下使用插件系统,其基本原理是利用.NET 平台的反射技术。“反射使用 Assembly 定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型 并创建该类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其 字段和属性”[2] 。 实现动态加载程序集方法基本原则有两点:1.封装变化点,把可能变化的部分独立出来,并 封装成程序集文件;2.动态加载程序集,在软件运行时,根据配置文件中的参数,动态调用适 当的程序集,来完成用户的功能需求。当用户需要增加新的功能,也只需要提供新的程序集, 同时更改配置文件即可。 3. 系统设计 下面以从文件导入数据到数据库来说明如何使用这种技术。为了分析此种技术的先进性, 本文通过常规的设计和基于插件式开发方法的对比,来分析使用插件式开发技术的好处。 3.1 用例情景 -1- 在这个示例中,客户需要把文件中的数据导入到数据库中,而这种文件的格式可能是多种 多样的,有可能是带分割符的文本文件,也可能按位分割的文本文件,也可能是Excel 文件。 针对这种需求,可以得出图1: 有分割 分割符文 符文件 件分析器 按位分 按分割文 割文件 件分析器 DB Excel Excel 分析 文件 器 图1 文件分析类的结构 3.2 通常的处理方式 针对上面的分析,可以设计三种文件分析类,分别为DelimitFile、FixLengthFile、 ExcelFile ,分别对应处理带分割符的文本文件、定长的文本文件及Excel 文件。根据面向对象 “针对接口编程,而不是针对实现编程”[1,4]原则,让这些类都继承

文档评论(0)

wgvi + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档