观察者模式典型应用是event-listener模式,或者发布订阅模式,subject里有observer list,然后第三方时间调用subject里的一个方法(通常叫change,意为改变状态),然后通过foreach调用每一个observer的update方法(或者说就是一个方便吧,把状态或者event传入update里,让observer进行后续操作)
所以根据event信息多少又可以分为退模型和拉模型,很简单,意味着是不是需要在收到event之后observer再去自己获取一些东西
在spring里比较典型的应用有工程启动时抛出的各种事件,你可以继承ApplicationListener<event>,里面的各种event会在工程作出某些动作时回调或者说通知对应继承类的重写方法,比如工程启动、停止等等,spring的好处是用容器来处理各个继承类的依赖,不需要手动去添加到observer list里,所以使用非常方便