模式和重构在面向对象软件框架中的应用
【摘要】:
工业化的软件复用已经从通用类库进化到了面向领域的应用框架。框架的最大好处就是复用,它是面向对象系统获得的最大的复用方式。面向对象软件的生命周期常分为几个阶段。Brain Foote将其分为原型阶段、扩展阶段和巩固阶段三个阶段。这三个阶段也就是软件不断演化(evolution)和复用(reuse)程度不断提高的过程。面向对象的软件框架一般都是从软件原型进化而来。
框架(Framework)是构成一类特定软件可复用设计的一组相互协作的类。框架规定了应用的体系结构,开发人员可以定义框架抽象类的应用相关的子类,从而将一个框架定制为特定应用。设计模式(design patterns)是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。一个模式命名、抽象和确定了一个通用设计结构的主要方面,这些设计可能被用来构造可复用的面向对象设计。重构(refactoring)是对软件内部结构的一种修改,目的是在不改变「软件之可察行为」前提下,提高其可理解性,降低其修改成本。元模式(Metapattern)是在元的层次上描述设计模式的模式。元模式在比一般设计模式更抽象的层次上讨论系统设计,所以适合于大规模的软件设计,比如框架。
该软件的原型基于浙江康裕制药有限公司ERP系统企业审批平台子系统,主要是为企业内部各种申请单提供统一的审批平台。主要的业务流程是申请过程、审批过程和系统管理。软件原型采用Ration Rose建立UML模型,在J2EE平台上实现,在设计上具有三个特点:申请单主表和详表分离;审批节点和具体的员工分离;支持流程定制。
根据框架的设计目标,框架应该在三个方向上对软件原型进行扩充。第一,添加新的功能,主要是支持web应用和支持数据结转。第二,改进设计,主要是建立申请单的继承体系,为新建审批节点制定策略和支持连接到不同的数据库。这是通过三个设计模式来实现的,分别是抽象工厂模式,策略模式和模板方法模式。第三,对软件原型中无处不在的设计和编程缺陷进行重构,这里主要列出的是一些粒度较大的重构:提炼类,内联类,搬移函数,折叠继承体系去除不必要的继承,引入参数对象去除过长参数列。
通过采用模式和重构,最初的软件原型已经具备了框架的基本特征。在框架开发中使用模式和重构,可以使得框架更灵活,更容易扩充和维护。
|
|
|
|
1 |
武威,杨放春,邹华;一种适合于OSA/Parlay应用框架的模式语言[J];北京邮电大学学报;2003年04期 |
2 |
蒙秋男;刘晓冰;;基于UML的特钢企业制造执行系统的设计与实现[J];组合机床与自动化加工技术;2006年04期 |
3 |
程劼;;面向Agent的软件框架[J];宁波大学学报(理工版);2007年01期 |
4 |
张新社;企业应用的软件框架与实现技术[J];西北电力技术;2001年06期 |
5 |
李俞峰,莫继红;Sherlock领域分析方法抽取软件框架[J];科学技术与工程;2005年12期 |
6 |
罗大卫;CAI系统的面向对象分析[J];五邑大学学报(自然科学版);1996年04期 |
7 |
刘瑜,王立福,张世琨;软件框架开发过程研究[J];计算机工程与应用;2004年02期 |
8 |
郭宁;非现场监测系统的应用研究[J];计算机系统应用;2005年01期 |
9 |
肖红,张凌,吴迪;基于IXP2400的研究与开发平台体系结构[J];计算机工程与应用;2005年07期 |
10 |
廖守亿,戴金海;基于Agent的建模与仿真设计模式及软件框架[J];系统仿真学报;2005年04期 |
11 |
宋勇刚;杨伟民;;无线局域网服务质量的优化研究[J];上海理工大学学报;2007年05期 |
12 |
肖黎,张晓东,柴跃廷,李芳芸;信息系统软件框架的一致性维护[J];清华大学学报(自然科学版);2000年04期 |
13 |
吴春明,钱徽,朱淼良;一个绘制大气介质效果的软件框架[J];电子学报;2004年05期 |
14 |
易凡;徐华;王家廞;贾培发;;开放式工业自动化控制系统的软件框架[J];计算机工程与应用;2007年13期 |
15 |
何伟;金远平;金鑫;;层次状态机可复用软件框架的设计与应用[J];计算机应用与软件;2007年10期 |
16 |
缑林峰;樊丁;李元业;;基于PXI总线的航空发动机附件测试系统设计[J];测控技术;2008年02期 |
17 |
赵明昌;李耀东;;一个新的综合集成研讨厅软件框架[J];计算机工程与应用;2008年11期 |
18 |
;小白日记[J];电脑爱好者;2009年16期 |
19 |
于功敬,张韬;VXI通用测试软件框架结构的研究[J];计算机自动测量与控制;1999年03期 |
20 |
文俊浩;徐传运;于杨;徐玲;;基于广义软件框架的开发过程研究[J];计算机应用研究;2006年05期 |
|