设计模式目录
创建型模式
提供了一种在创建对象的同时,隐藏创建逻辑的方式,而不是使用
new
运算符直接实例化对象。这使得程序在判断,针对某个给定实例,需要创建哪些对象时,更加灵活。
工厂模式
单例模式
结构型模式
关注类和对象的组合。
代理模式
装饰器模式
代理模式和装饰器模式的区别
对装饰器模式来说,装饰者(decorator)和被装饰者(decoratee)都实现同一个接口。对代理模式来说,代理类(proxy class)和真实处理的类(real class)都实现同一个接口。他们之间的边界确实比较模糊,两者都是对类的方法进行扩展,具体区别如下:
- 装饰器模式强调的是增强自身,在被装饰之后你能够在被增强的类上使用增强后的功能。增强后你还是你,只不过能力更强了而已;
- 代理模式强调,要让别人帮你去做一些,本身与你业务没有太多关系的职责(记录日志、设置缓存)。代理模式是为了实现对象的控制,因为被代理的对象,往往难以直接获得,或者是其内部不想暴露出来。
适配器模式
行为型模式
关注对象之间的通信
观察者模式
策略模式
模板方法
参考资料
1.设计模式_Guru
2.设计模式 | 菜鸟教程
3.Java设计模式