SpringBoot项⽬中的观察者模式
1.观察者模式的定义:
观察者设计模式定义了对象间的⼀种⼀对多的组合关系,以便⼀个对象的状态发⽣变化时,所有依赖于它的对象都得到通知并⾃动刷新。
2.观察者模式的原理:
实现观察者模式有很多形式,⽐较直观的⼀种是使⽤⼀种“注册——通知——撤销注册”的形式。下⾯的三个图详细的描述了这样⼀种过程:其中,观察者模式定义了四种⾓⾊:抽象主题、具体主题、抽象观察者、具体观察者。 抽象主题(Subject):该⾓⾊是⼀个抽象类或接⼝,定义了增加、删除、通知观察者对象的⽅法。 具体主题(ConcreteSubject):该⾓⾊继承或实现了抽象主题,定义了⼀个集合存⼊注册过的具体观察者对象,在具体主题的内部状态发⽣改变时,给所有注册过的观察者发送通知。 抽象观察者(Observer):该⾓⾊是具体观察者的抽象类,定义了⼀个更新⽅法。 具体观察者(ConcrereObserver):该⾓⾊是具体的观察者对象,在得到具体主题更改通知时更新⾃⾝的状态
抽象类的使用3.本项⽬中的运⽤场景:
spring的事件驱动模型使⽤的是 观察者模式,就是通过ApplicationEvent抽象类和ApplicationListener接⼝,可以实现ApplicationContext事件处理,在处理Event时,通常会进⾏判断传⼊的Event是不是⾃⼰所想要处理的,使⽤instanceof关键字。ApplicationEventMulticaster事件⼴播器实现了的注册,⼀般不需要我们实现,只需要显⽰的调⽤
applicationcontext.publisherEvent⽅法即可。
4.带来的好处:
⾸先,封装了设计模式,便于使⽤者,⾮常简单,快捷。
其次,降低了程序之间的耦合
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论