《Head First 设计模式》 18-蝇量模式

又名 **享元模式** 。 **如果想让一个类的一个实例能用来提供许多“虚拟实例”,就使用蝇量模式(*Flyweight Pattern*)。** 书中以需要大量创建树对象


《Head First 设计模式》 17-责任链模式

**当你想让一个以上的对象有机会能够处理某个请求的时候,就是用责任链模式(*Chain of Responsibility Pattern*)。** 书中没有具体的代码示例,不过


《Head First 设计模式》 16-生成器模式

**生成器模式(*Builder Pattern*)封装一个产品的构造过程,并允许按步骤构造** 这种模式在 **ORM**(*Object Relational Mapping


《Head First 设计模式》 15-桥接模式

**桥接模式** 通过将 **实现** 和 **抽象** 放在 **两个不同的类层次** 中而使它们 **可以独立改变** 。 书中以遥控器和电视为例:不同按键模式的遥控器来遥


《Head First 设计模式》 14-复合模式

## 复合模式 模式通常被一起使用,并被组合在同一个设计解决方案中。 **复合模式在一个解决方案中结合两个或多个模式,以解决一般或重复发生的问题。** 书中以 **M


《Head First 设计模式》 13-代理模式

**代理模式 为一个对象提供一个替身或占位符以控制对这个对象的访问。** 书中以 **Java RMI** (*Remote Method Invocation* 远程方法调用)


《Head First 设计模式》 12-状态模式

**状态模式 允许对象在内部改变状态时改变它的行为,对象看起来好像修改了它的类。** 这个模式将状态封装成独立的类,并将动作委托到当前状态的对象,从而让行为随着状态改变而改变。


《Head First 设计模式》 11-组合模式

**组合模式 允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。** 组合模式让我们能用 **树形方式** 创建对象的结构


《Head First 设计模式》 10-迭代器模式

**迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。** 书中示例是用 Java 写的,需要用到 `java.util.Iterator` 接口


《Head First 设计模式》 09-模板方法模式

**模板方法模式 在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。** **模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。** ![](/



刘佳佳
江苏 - 苏州
软件工程师
梦嘉