手机版

软件设计模式及其应用研究(4)

发布时间:2021-06-07   来源:未知    
字号:

软件设计

 2006年第5期

计春雷:软件设计模式及其应用研究  

49

(职责)分配,它所描述的不仅仅是类或对象的设计

模式,还有它们之间的通讯模式。这些模式刻划了在运行时难以跟踪的复杂的控制流。行为型类模式使用继承机制在类间分派行为,如TemplateMeth2od(模板方法)模式和Interpreter(解释器)模式;行为型对象模式使用对象复合而不是继承,它描述一组对象怎样协作完成单个对象所无法完成的任务,如ChainofResponsibility(职责链)模式、Command(命令)模式、Iterator(迭代器)模式、Mediator(中介者)模式、Memento(备忘录)模式、Observer(观察者)模式、State(状态)模式、Strategy(策略)模式、Visitor(访问者)模式。

5 设计模式应用举例

结合上海电机学院教学信息平台的开发,通过

对面向对象软件的各种设计模式的研究与分析,在项目开发过程中应用了多种设计模式,实现了软件设计开发的灵活性和可复用性。

(1)外观设计Decora2tor的设计模式,Decorator了ract,(浏览器)和()ractFactory模式的主要,它最适用于产品对象的数目和种类不变,而具体产品系列之间存在不同的情况。

(2)接口设计。对于这个系统,采用的是Strat2egy的设计模式。在对象中封装算法是Strategy模式的目的。Strategy模式应用的关键点在于为Strategy和它的环境设计足够通用的接口,以支持一系列的算法。

(3)登录模块。用户登录功能是常见的模块,在这里使用了Facade的设计模式,同时使系统的整个设计模式建立在MVC框架下。

(4)文件档案模块。在文件模块的设计过程中,主要使用了Adapter,Command,Singleton,Ab2stractFactory这4种设计模式。在本模块调用文件功能的地方,在接口上文件功能类和所需要的接口并不完全一致,需要进行转换,因此,在这个地方使用了Adapter的设计模式;文件的功能多种多样的,设计的时候需要考虑可扩展性,使用Command设计模式,使得内部功能透明;考虑到文件操作存在资源的主占和共享的问题,文件在打开时可以多人同时访问,然而在删除、上传、修改时需要保证文件当时只有一个用户使用,因此,使用Singleton模式保证了这一点;同样考虑到文件的访问需要读取文件的属性和他们的内容,对于不同格式的文件,文件的访问的方法各不相同,使用AbstractFactory模式保证了接口的统一性和可扩展性。

(5)短信模块。在短信模块的设计上,使用的是Mediator的设计模式。整个系统的通讯模块有

(下转第70页)

4 设计模式的选择与使用

:设计;,对系统另有要求的组件或模块通过加入设计模式使其更加优化、灵活。由于设计模式具有一定复杂性,所以很难将其应用到具体的软件设计中,主要原因有:①软件设计人员没有正确把握和理解软件设计模式;②没有一种有效的方法来指导使用这些设计模式。

为此,在总结了一些软件设计模式的应用经验的基础上,借鉴了对面向对象软件工程过程的研究[4]25228,提供一些如何选择和使用设计模式的参考。

4.1 设计模式的选择

选择合适的软件设计模式通常需要考虑以下几个方面[526]:①考虑设计模式是怎样解决设计问题的;②浏览模式的意图部分;③研究模式怎样互相关联;④研究目的相似的模式;⑤检查重新设计的原因;⑥考虑设计中哪些是可变的。4.2 设计模式的使用

一旦选择了一种软件设计模式,怎么使用它呢?这里给出一个有效应用设计模式的循序渐进的方法[2]20221。①大致浏览一遍设计模式;②回头研究结构部分、参与者部分和协作部分;③看代码示例部分,看看这个模式代码形式的具体例子;④选择模式参与者的名字,使它们在应用上下文中有意义;⑤定义类;⑥定义模式中专用于应用的操作名称;⑦实现执行模式中责任和协作的操作。

软件设计模式及其应用研究(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)