21.享元模式

小故事

炼金术商铺的货架上摆满了药水,每种药水都有多瓶。为了实现对象的复用,每种药水可以返回同一对象,实现对象的复用。

享元模式

1. 定义

运用共享技术有效地支持大量细粒度的对象

阅读全文

20.中介者模式

小故事

举办一个相亲的Party,所有人并不知道有谁会参加,只知道来参加这个Party即可。

中介者模式

1. 定义

用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。

阅读全文

19.责任链模式

小故事

国王发出指令:保卫城堡、释放囚犯、多征税收,这一些列的指令都会有特定的人来处理。

责任链模式

1. 定义

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之前的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

阅读全文

18.命令模式

小故事

巫师对妖精,使用了收缩咒和隐身咒。

命令模式

1. 定义

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。对请求排队或记录请求记录,以及支持可撤销的操作。

阅读全文

17.桥接模式

小故事

需要对武器进行附魔,武器和魔力属性是通过某种方式桥接在一起。

桥接模式

1. 定义

将抽象部分与它的实现部分分离,使他们都可以独立的变化。

阅读全文

16.单例模式

小故事

保证一个类仅有一个实例,有多种实现方式,理解每种方式的优缺点。

单例模式

1. 定义

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

阅读全文

15.迭代器模式

小故事

有个宝库,里面有很多宝箱,每个宝箱都能爆出不同的装备。可能是首饰类、武器、药剂。请遍历宝库里所有的宝箱里装备。

迭代模式

1. 定义

提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象内部表示。

阅读全文

14.组合模式

小故事

多个字母组成一个单词,多个单词组成一句话。

组合模式

1. 定义

将对象组合成树状结构以表示’部分-整体’的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。

阅读全文

13.适配器模式

小故事

一群人在海上遇到了海盗,大船搁浅了,刚好这群人中有个舰长,还有个渔船。舰长需要适配掌控这个渔船带着所有人逃生。

适配器模式

1. 定义

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口模式不兼容而不能一起工作的接口的那些类可以一起工作。

阅读全文

12.状态模式

小故事

长毛象的情绪状态是变化的,有时候是生气状态,有时候是平和状态。

状态模式

1. 定义

当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。

阅读全文