Java 设计模式学习总结
设计模式-学习总结
设计模式的三大类
创建型
结构型
行为型
创建型简单的说,就是用来创建对象的。
工厂方法模式:由子类来决定创建具体对象。
抽象工厂模式:允许使用者创建对象的家族,无需指定具体类。
单例模式:只为对象提供一个全局的访问点(世上只有一个地球)。
建造者模式:允许使用者自由搭配组合对象。
原型模式:通过复制原对象来创建新对象。
结构型
代理模式:增强对象功能。
门面模式:统一访问入口(拨开云雾见天日)。
装饰器模式:为对象添加新的功能(锦上添花)。
享元模式:共享资源池(节省资源,从我做起)。
组合模式:统一整体和个体的处理方式。
适配器模式:共享资源池(我所做的一切,只是为了配得上你)。
桥接模式:将抽象与具体分离开来。
行为型
模板方法模式:定义完整流程,只允许子类微调(小事随意,大事我做主)。
策略模式:定义可互相替换策略,使用者爱用哪个用哪个(条条道路通罗马)。
责任链模式:链路上每个对象只处理自己能处理的(各人自扫门前雪,休管他人瓦上霜)。
状态模式:绑定状态和行为。
迭代器模式:统一对集合的访问方式(别急,一个一个来)。
命令模式:将请求与处理进行解耦(运筹帷幄之中,决胜千里之外)。
备忘录模式:备份对象(专卖“后悔药”)。
中介者模式:将网状结构统一通过中介进行管理(快到我碗里来)。
解释器模式:实现特定语法的解析(我的地盘我做主)。
观察者模式:解耦观察者和被观察者,状态发生改变时只通知观察者。
访问者模式:解耦数据结构和数据操作。
学完设计模式,大家可能和我一样,有着这样的想法:23 种设计模式中很多是相似的,但却不是同一种设计模式,为什么呢?
其实不难发现很多相似的设计模式,它们是基于同一种思想去实现的,就是侧重点不同罢了。(下面附上一张设计模式关系图)
虽说每天学习笔记就像流水账一样,但是对于自己来说还是有了很大的提高。最后呈上大家最喜欢的源码:设计模式所有案例源码
版权声明: 本文为 InfoQ 作者【梁歪歪 ♚】的原创文章。
原文链接:【http://xie.infoq.cn/article/ebbaae3cdd6eaa01d48bf6622】。文章转载请联系作者。
评论