苏州手机社区网站建设,大学软件开发需要学什么,网站建设座谈会,网站建设流程及细节一、观察者模式
1、原理 观察者模式又叫做发布-订阅#xff08;Publish/Subscribe#xff09;模式#xff0c;定义了一种一对多的依赖关系。让多个观察者对象同时监听某一个主题对象#xff0c;这个主题对象在状态上发生变化时#xff0c;会通知所有观察者对象#xff0…一、观察者模式
1、原理 观察者模式又叫做发布-订阅Publish/Subscribe模式定义了一种一对多的依赖关系。让多个观察者对象同时监听某一个主题对象这个主题对象在状态上发生变化时会通知所有观察者对象使它们能够自动更新自己。 软件系统常常要求在某一个对象的状态发生变化的时候某些其它的对象做出相应的改变。观察者模式是解决该类问题的很优秀的方案使用该模式减少对象之间的耦合提升系统的可扩展性。 2、关键角色 观察者模式有下面几个关键的角色如下 抽象主题Subject抽象主题提供一组接口可以增加和删除观察者对象每个主题都可以有任何数量的观察者具体主题ConcreteSubject保存注册的观察者及主题自身的状态当主题的状态发生变化时通知观察者抽象观察者Observer为所有的具体观察者定义一个接口在得到主题的通知时更新自己具体观察者ConcreteObserver保存主题的状态实现抽象观察者所要求的更新接口以便使本身的状态与主题的状态保持一致
3、UML类图 下面是观察者模式对应的UML类图如下 4、使用场景 适用场景 对象间存在一对多关系一个对象的状态发生改变会影响其他对象实现类似广播机制的功能不需要知道具体收听者只需分发广播系统中感兴趣的对象会自动接收该广播