软件设计模式及其应用研究(2)
发布时间:2021-06-07
发布时间:2021-06-07
软件设计
2006年第5期
计春雷:软件设计模式及其应用研究
47
下产生的、反复出现的典型性问题以及相应的一整套解决方案之间的关系。设计模式关注的是特定设计问题及其解决方案,它描述了如何利用面向对象的基本概念和机制来解决可扩展的软件设计中经常出现的问题,并针对设计问题给出可复用的解决方案,而这个解决方案是对反复出现的设计结构进行识别和抽象得到的。同时,每个模式都伴有定义的语境和强度,语境解释了模式的适用情况,强度是语境中的元素。如果问题的环境与模式的语境和强度相匹配,该模式便可应用。
每一个设计模式都系统地命名、解释和评价了这样,只要搞清楚这些设计模式,,是,,就可以直接套用这些设计模式,从而大大减轻软件开发人员的工作量。
关于软件设计模式,目前的研究方向主要有[1]设计模式与其他面向对象设计方法(如特定领域的框架)的关系,它们各自的优劣和适应范围。除此以外,人们还在各个方面总结设计模式(如通信领域等),以及研究如何让设计模式的使用更加自动化。
性或可移植性的影响,这些效果对理解和评价这些模式很有帮助。2.2 设计模式的描述
为了达到设计复用,必须同时记录设计产生的决定过程、选择过程和权衡过程。可用统一的格式描述设计模式,目前最常用的格式是ErichGamma等[2]采用的下面固定模式描述。
模式名和分类、意图、别名、适用性、结构、参与者、协作效果、已知应用、相关13,可以,,甚至可以使。[3]包括自然语言描述法、统一标记语言(UML)描述法、形式化语言描述法。自然语言描述法比较简单、方便,但对现实与设计之间的过渡描述不够流畅。对象建模技术(OMT)描述法是利用类图和对象图对设计模式中的类、实例以及整体模式结构进行图形描述的方法,而UML是在OMT基础上进一步发展起来的,其描述更加清晰和统一,符合大部分软件设计人员的习惯,也便于设计人员的理解和应用。形式化语言主要包括DisCo,LePUS,LayOM,ADV/ADO,CDL,PDL,PDSP等,其中DisCo侧重于描述设计模式中参与
者的交互行为。
2 设计模式的组成
2.1 设计模式的基本成分
3 设计模式的分类
软件设计模式的分类有不同的方法。本文主要参考文献[4]10212来进行分类,如表1所示。
表1 软件设计模式分类表
Tab.1 Classificationchartofsoftwaredesignpatterns
创建型
类
FactoryMethod
一个设计模式被划分为4个基本组成部分[2]2。
(1)模式名称。一个助记名,它用一两个词来描述模式的问题、解决方案和效果。
(2)问题。描述了应该在何时使用模式,它解释了设计问题和问题存在的前因后果,描述了特定的设计问题,如怎样用对象表示算法等;也可能描述了导致不灵活设计的类或对象结构。
(3)解决方案。描述了设计的基本要素,它们之间的相互关系及各自的职责和协作方式。
(4)效果。描述了模式应用的效果及使用模式应权衡的问题。模式效果对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。模式效果包括它对系统的灵活性、扩充
结构型
AdapterAdapterBridgeCompositeDecoratorFa adeFlyweightProxy
行为型
InterpreterTemplateMethodChainofResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor
对象AbstractFactory
BuilderPrototypeSingleton
上一篇:城墙遗址公园景观设计初探
下一篇:一种葡聚糖制备装置用的无菌存储盒