《Head First 设计模式》 第十三章 与设计模式相处

Posted stone94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Head First 设计模式》 第十三章 与设计模式相处相关的知识,希望对你有一定的参考价值。

 

与设计模式相处

 

定义设计模式

模式时在某情境下,针对某问题的某种解决方案

情境,就是应用某个模式的情况,这应该是会不断出现的情况。

问题,就是你想在某情境下达到的目标,但也可以是某情境下的约束。

解决方案,就是你说追求的一个通用的设计,用来解决约束、达到目标。

如果你发现自己处于某个情境下,面对着所欲达到的目标被一群约束影响着的问题,然而,你能够应用某个设计,客服这些约束并达到该目标,将你领向某个解决方案。

 

设计模式分类

随着发掘的设计模式数目逐渐增加,有必要将它们分级分类,好将它们组织起来,以简化我们寻找模式的过程,并让同一群组内的模式互相比较。

在大多数的类目中,模式通常根据某种做法被归为几类。最广为人知的分类方式,就是第一个模式类目中所采用的方式,根据模式的目标分为三个不同类目:创建型、行为型和结构型。

 

创建型模式涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。

属于这类的设计模式有:

Singleton、Builder、Prototype、Abstract Factory、Factory Method

 

行为型模式涉及到类和对象如何交互及分配职责。

属于这类的设计模式有:

Template Method、Command、Iterator、Observer、Strategy、Mediator、Visitor、Interpreter、Memento、Chain of Responsibility

 

结构型模式可以让你把类或对象组合到更大的结构中。

属于这类的设计模式有:

Decorator、Composite、Proxy、Facade、Adapter、Flyweight、Bridge

 

 

反模式

反模式告诉你如何采用一个不好的解决方案解决一个问题

反模式看起来总像是一个好的解决方案,但是当它真正被采用后,就会带来麻烦。通过将反模式归档,我们能够帮助其他人在实现它们之前,分辨出不好的解决方案。像模式一样,有许多类型的反模式,包括了开发反模式、OO反模式、组织反模式和领域特定反模式。

 

以上是关于《Head First 设计模式》 第十三章 与设计模式相处的主要内容,如果未能解决你的问题,请参考以下文章

大话设计模式第十三章之建造者模式

第十三章-建造者模式

网络操作系统第十十三章习题

第十三章 元表与元方法 Lua程序设计笔记

《构建之法》第十三章学习总结

Redis 设计与实现(第十三章) -- 客户端