设计模式(Design Pattern)是针对面向对象系统中重复出现的设计问题,系统化地命名、激发和解释出的一个通用的设计方案,描述了问题、解决方案、在什么条件下应用该解决方案及其效果,还给出了实现要点和实例。某解决方案是解决某问题的一组精心安排的通用的类和对象,再经定制和实现就可以用来解决特定环境中的问题。
一般而言,一个模式有4个基本要素:
(1)模式名称(Pattern Name):即用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式直接地增加了我们的设计词汇。设计模式允许我们在更高的抽象层次上进行设计。基于一个模式词汇表能够让我们自己以及和他人在讨论模式与编写文档的时候使用它们。模式名帮助我们思考并且有助于我们与其他人交流设计思想和结果。找到合适的模式名是设计模式编目工作的难点之一。
(2)问题(Problem):描述了什么时候应用模式。它解释了问题和问题存在的环境,可能描述特定的设计问题,如怎样用对象来表示算法等;也可能描述导致不灵活设计的类或对象结构。有时候,问题会包括使用模式必须满足的一系列先决条件。(www.xing528.com)
(3)解决方案(Solution):描述了设计的组成部分、它们之间的相互关系、各自的职责以及协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
(4)效果(Consequences):描述了模式应用的效果及使用模式应权衡的问题。尽管描述设计决策时并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,故它们也描述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。