(本文摘自《设计模式-可服用面向对象软件的基础》,本文须要对照此书一块儿看 )
GOF设计模式中有20多个设计模式供你选择,要从中找出一个针对特定设计问题的模式可能仍是很困难的,尤为是当面对一组新模式,你还不怎么熟悉它的时候。这里给出几个不一样的方法,帮助你发现适合你手头问题的设计模式:设计模式
- 考虑设计模式是怎样解决设计问题的。1.6节讨论了设计模式怎样帮助你找到合适的对象、决定对象的粒度、指定对象接口以及设计模式解决设计问题的几个其余方法。参考这些讨论会有助于你找到合适的模式。
- 浏览模式的意图部分。1.4节列出了目录中全部模式的意图部分。通读每一个模式的意图,找出和你的问题相关的一个或多个模式。你可使用表 1-1所显示的分类方法缩小你的搜查范围。
- 研究模式怎样互相关联。 图1-1 以图形方式显示了设计模式之间的关系。研究这些关系能指导你得到合适的模式或模式组。
- 研究目的类似的模式。 模式分类描述部分共有三章,一章介绍建立型模式,一章介绍结构型模式,一章介绍行为型模式。每一章都以对模式介绍性的评价开始,以一个小节的比较和对照结束。这些小节使你得以洞察具备类似目的的模式之间的共同点和不一样点。
- 检查从新设计的缘由。看一看从“设计应支持变化”小节开始讨论的引发从新设计的各类缘由,再看看你的问题是否与它们有关,而后再找出哪些模式能够帮助你避免这些会致使从新设计的因素。
- 考虑你的设计中哪些是可变的。这个方法与关注引发从新设计的缘由恰好相反。它不是考虑什么会迫使你的设计改变,而是考虑你想要什么变化却又不会引发从新设计。最主要的一点是封装变化的概念,这是许多设计模式的主题。表1-2列出了设计模式容许你独立变化的方面,你能够改变它们而又不会致使从新设计。
