写在前面
设计模式,其实在一定程度上代表着最优解,最佳实践,由一部分开发人员根据经验总结而出的解决方案,分别针对不同的场景的最优解决方案。
在当前环境下,设计模式也被开发人员极为推崇,并且利用其解决众多的问题,所以,学习设计模式刻不容缓。
下面我们就来看一下“观察者模式”。
观察者模式,就很常见了,因为在Java中目前就已经集成了观察者模式相关的类了,这个模式也是我们在日常开发经常会用到的一种方案。
同样也是行为型设计模式中的一种,主要是提供了一种当对象状态或者属性发生变化时,就会以通知的方式告知观察者们的方案,这里的观察者可以是多个,在Java中我们经常使用集合来存储多个观察者。
使用场景
主要应用于一对多对象之间的联系关系的情况下,使用观察者模式,可以使观察者和被观察者通过一套触发机制来进行双方的响应功能。
优缺点
观察者模式的优点在于观察者和被观察者看似是耦合的,但是他们之间的实现逻辑其实是松耦合的,并且他们通过特定的触发机制来进行相互响应。
缺点则是在通知过程中,可能会因为观察者太多造成性能上的损耗,这也是观察者模式需要自行根据现状优化的问题。