《Head First 设计模式》确实是一本引领新手入门的好书。 内容详尽透特, 行文充满趣味。
书中共提到了24个设计模式; 其中复合模式是模式的模式, 除去这个模式, 其余23个常见模式书中均有讲解。
下面15个模式, 此书讲解得十分详细, 无需再多言。
1 策略模式 Strategy
2 观察者模式 Observer
3 装饰者模式 Decorator
4 工厂方法模式 Factory Method
5 抽象工厂模式 Abstract Method
6 单件模式 Singleton
在多线程的情形下,通过双检查锁实现单例有更多的暗坑以及相应解决方案,此书并未提及。《Java并发编程实践》的16.2.4小结提到了这个问题。博文“双重检查锁定(double-checked locking)与单例模式”更为细致地阐释了这个问题。
7 命令模式 Command
8 适配器模式 Adaptor
9 外观模式 Facade
10 模板方法模式 Template Method
11 送代器 Iterator
12 组合模式 Composite
13 状态模式 State
14 代理模式 Proxy
15 复合模式
另外还有九个模式, 书中并未详细说明。 故下面每个模式都对应了一个链接, 指向相应的讲解文章。
16.桥接模式 Bridge 17.生成器/建造者模式 Builder 18.责任链模式 Chain Of Responsibility 19.蝇量/享元模式 Flyweight 20.解释器模式 Interpreter 21.中介者模式 Mediator 22.备忘录模式 Memento 23.原型模式 Prototype 24.访问者模式 Visitor
设计模式的分类: 创建型、结构型、行为型
创建型:提供一个方法,将客户从所需要实例化的对象中解耦
单例模式、建造者模式、原型模式、抽象工厂模式、工厂方法模式
结构型:类或者对象组合到更大的结构中
代理模式、装饰者模式、组合模式、外观模式、适配器模式、桥接模式、享元模式
行为型:涉及到类和对象如何交互以及分配职责
中介者模式、访问者模式、模板方法模式、迭代器模式、命令模式、备忘录模式、解释器模式、观察者模式、责任链模式、状态模式、策略模式