没有合适的资源?快使用搜索试试~ 我知道了~
论文研究-一种三层结构软件框架扩展点实现方法 .pdf
需积分: 0 0 下载量 152 浏览量
2019-08-21
02:20:01
上传
评论
收藏 375KB PDF 举报
温馨提示
试读
10页
一种三层结构软件框架扩展点实现方法,郝雯,艾玲梅,本文基于通用的软件三层结构框架,对框架的扩展点进行了分类,并根据各类的特点,结合设计模式给出了各类扩展点的设计策略和实现
资源推荐
资源详情
资源评论
http://www.paper.edu.cn
-1-
一种三层结构软件框架扩展点实现方法
∗
郝雯
1
,艾玲梅
1
,王映辉
2
1
陕西师范大学计算机科学学院,西安(710062)
2
西安理工大学计算机科学与工程学院,西安(710048)
E-mail:haowensxsf@163.com
摘 要:本文基于通用的软件三层结构框架,对框架的扩展点进行了分类,并根据各类的
特点,结合设计模式给出了各类扩展点的设计策略和实现方法。最后,以某大型机械制造
企业的工时管理系统开发为例,基于.NET 平台对各扩展点的具体实现过程进行了详细阐
述。本文的方法对增强软件框架的灵活性以及应对客户的需求变化提供了良好的支持。
关键词:扩展点;设计模式;软件框架;三层结构;.NET 平台;
中图分类号:TP311. 11 文献标识码:A
本课题得到陕西省科技项目(2007F51,2008K4-11),西安市创新支持计划重点项目(XY080030),博士点基金
(20070700002)资助.
1 引 言
随着软件复用技术的深入,软件框架日益受到人们的重视。框架是一个可复用的、“半
成品”的应用程序,比软件体系结构更容易被开发者关注和理解,开发人员可通过对软件框
架的扩展和实例化实现应用系统,并使软件框架(下简称:框架)的灵活性得以体现。而扩展
点是框架为用户提供足够灵活性的关键所在
[1]
,也是进一步实现大粒度复用的核心。
框架中支持灵活扩展和定制的机制称为框架的扩展点,扩展点可以看作嵌入框架的占
位符(placeholder)
[1,2]
,为对特定应用提供了定制的机制。仅扩展点的实现策略来看,目前
主要有两种方法:基于继承机制的实现方法和基于对象组合的实现方法。前者主要是通过
在基类中定义虚函数,在子类覆盖基类中大部分甚至全部虚函数的方法来实现扩展。后者
主要是将已有对象嵌入到新类中来实现扩展。过度使用继承机制实现扩展会使类结构庞大
和复杂,进而引起类爆炸等一系列问题,从而会降低代码的复用性,影响继承效果。单独
使用组合会失去继承的诸多优势,如不具备对象的多态性等。设计模式(Design pattern)是
一套被反复设计、分类、使用,并被多数人知晓的经验总结
[3]2
,可实现继承和组合方法的
有效结合,使两种方法以各自的优点弥补彼此的缺点。同时,设计模式采用“面向接口”的
思想和封闭变化的概念。因此,基于设计模式实现框架扩展点可有效增强软件框架的灵活
性,改进与提高框架对特定应用的定制能力。
本文在对软件框架扩展点分类描述的基础上,针对目前被广泛使用的三层软件结构(界
面表示层、功能业务层和数据层)框架,在设计出各层变化点和分析了其构成机理的基础上,
详细阐述了基于设计模式的扩展点实现策略和扩展机制,给出了它们的具体实现方法,并
以某大型机械制造企业的工时管理系统的开发为例,详细描述了扩展点的具体使用方法和
应用过程。
资源评论
weixin_39840914
- 粉丝: 436
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CnWizards delphi插件 变量高亮 delphi工具
- 用K210进行垃圾识别,通过串口发送不同信号给stm32,控制步进电机进行分类,并且语音播报.zip
- 基于Matlab 实现单径瑞利信道下,交织与卷积编码对误码率影响仿真
- 基于PCL的平面点云格网可视化程序代码
- DataSphereStudio是一个一站式数据应用程序开发和管理门户,涵盖数据交换、脱敏/清理、分析/挖掘、质量测量、可视化等
- python对mysql的操作
- 基于python opencv实现的图像上色源码+项目说明.7z
- 智能车相关外设模块,包含寻迹传感器、编码器、电机驱动、舵机、TFT彩屏、按键、蜂鸣器、无线通讯八个模块
- 可以使用的jdk8 离线镜像安装
- HBase总结.xmind
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功