- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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]原则,让这些类都继承
您可能关注的文档
- 《唐代茶具(图片)》.doc
- 《唐月辉作品:《蓝色幽月-奔月》插画绘制___CG教程_火星时代网_-_全球领先的数字艺术媒体》.pdf
- 《商业地产策划基础培训》.ppt
- 《商业插图的设计》.pptx
- 《商业策划书样板》.doc
- 《商务策划PPT!!》.ppt
- 《商务策划方法》.pdf
- 《商务谈判策划书》.doc
- 《商学院策略游戏之啤酒游戏操作手册》.pdf
- 《啤酒节策划方案》.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)