设计模式目录

创建型模式

提供了一种在创建对象的同时,隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断,针对某个给定实例,需要创建哪些对象时,更加灵活。

工厂模式

单例模式



结构型模式

关注类和对象的组合。

代理模式

装饰器模式

代理模式和装饰器模式的区别

对装饰器模式来说,装饰者(decorator)和被装饰者(decoratee)都实现同一个接口。对代理模式来说,代理类(proxy class)和真实处理的类(real class)都实现同一个接口。他们之间的边界确实比较模糊,两者都是对类的方法进行扩展,具体区别如下:

  • 装饰器模式强调的是增强自身,在被装饰之后你能够在被增强的类上使用增强后的功能。增强后你还是你,只不过能力更强了而已;
  • 代理模式强调,要让别人帮你去做一些,本身与你业务没有太多关系的职责(记录日志、设置缓存)。代理模式是为了实现对象的控制,因为被代理的对象,往往难以直接获得,或者是其内部不想暴露出来。

适配器模式





行为型模式

关注对象之间的通信

观察者模式

策略模式

模板方法







参考资料

1.设计模式_Guru
2.设计模式 | 菜鸟教程
3.Java设计模式

posted @ 2021-03-12 15:11  chenzufeng  阅读(49)  评论(0编辑  收藏  举报