- 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
- 中考数学复习重难点专项突破训练专题12 新定义型几何图形综合问题(重点突围)(学生版).docx
- 中考数学复习重难点专项突破训练专题07 全等三角形旋转、一线三等角模型(重点突围)(学生版).docx
- 2024年中考数学重难点突破专题12 二次函数与字母参数的关系(教师版).docx
- 2024年中考数学重难点突破专题14 与圆有关的证明和计算(教师版).docx
- 2024年中考数学重难点突破专题02 坐标系中的循环周期问题(选择压轴)(教师版).docx
- 中考数学复习重难点专项突破训练专题04 方程与不等式(学生版).docx
- 2024年中考数学重难点突破专题10 反比例函数的综合训练(数形结合)(教师版).docx
- 中考数学复习重难点专项突破训练专题18 二次函数中线段、周长、面积最值问题(重点突围)(教师版).docx
- 2024年中考数学重难点突破专题12 二次函数与字母参数的关系(学生版).docx
- 广东省2022年中考物理总复习学案-第十五讲 光 现 象.docx
文档评论(0)