Observer模式优缺点

兄弟姐妹们在线分析下,Observer模式优缺点
最新回答
﹋ˋ︸黑曼斑

2020-06-10 12:06:30

观察者模式,作为一种设计模式,具有显著的优点。首先,Subject(被观察者)和Observer(观察者)之间的关系是松散的,两者可以独立地进行修改,无需相互依赖,实现了高内聚、低耦合的原则,这符合GRASP和其他常用设计原则的要求,使得代码结构更为灵活。

在实现过程中,Subject在发布更新时,不需要明确指定特定的Observer,而是由Observer自行选择是否接收通知,这种机制提供了很大的灵活性。然而,这也可能导致代码的耦合度稍显模糊,对于一些复杂的系统,理解这些松散的连接可能会有一定的挑战。

然而,观察者模式并非没有其局限性。当Subject被大量Observer订阅时,广播通知的操作可能会带来效率问题,因为这涉及到对所有订阅者的遍历。这可能会在大型系统中,特别是在处理性能要求较高的场景时,成为性能瓶颈。