今天学习了争哥的行为型设计模式.
观察者设计模式:
同步的,异步的,同一个进程的,不同进程之间都可以用到观察者模式.
实现业务之间的解耦.
我在日常开发中经常用到观察者设计模式.
@Autowired直接注入
本质上观察者设计模式是一种面向接口编程的思维模型
模板设计模式:
在一个模板类中定义好骨架内容,写好主要的流程代码,关键内容提供抽象方法让子类实现,可以给模板方法加上final修饰符进行修饰避免重写
与模板设计模式相关有一个回调函数的功能.
A类首先往B类注册f函数,然后A类调用B类的b方法,b方法中回调f函数.
如果这个f函数是同步的,那么回调函数有点像是模板方法,如果f函数是异步的,又有点像是观察者设计模式.
策略模式:
策略模式一组策略的创建,使用,获取的模式,通常有一个策略工厂,是面向接口编程的典范.
比如我用到的消息推送可以使用钉钉告警或普通接口告警,可以采用策略模式
职责链模式:
职责链模式也是采用买内向接口编程的思想.
有两种实现方式,一种是链式的数据模型,servletFilter是采用这种模式
还有一种是数组的方式,直接遍历数组调用职责链.
关于职责链有两种变种,一种是只要有一个职责链节点完成了任务,就返回,还有一种是每个职责链都进行工作,
状态模式:
状态模式是用来解决状态的转换的问题.
首先要画好状态转换图.
其实我接触到的项目中监控项目可以用到状态转换模式,具体还是需要再复习下.
今天意识到了一点其实我们要运用设计思想和设计原则去编程,而不是对设计模式进行死记硬背.如果不能良好的运用设计思想和设计原则,只是对代码进行设计模式的生搬硬套.
可能会增加代码的偶然复杂性.变得更加不好维护.
网友评论