在设计模式中,首先有一个开放-封闭原则:开放是指可以被扩展,封闭是指原有的代码不能被修改。
观察者模式定义为:观察者模式定义了一种一对多的依赖关系,让多个观察者同时监听某一对象,当该对象在状态发生变化时,会通知所有的观察者,是它们能够自动更新自己。
注意,观察者类与监听的对象的类不能有耦合,可以利用抽象类和接口来实现解耦合。将观察者类和监听的对象类都分别抽象为两个抽象类,在监听抽象类中的某个动作方法中添加要进行动作的观察者抽象类,每调用该方法,就添加一个观察者类。然后可以在监听类中写一个方法,用于改变观察者类的状态。然后就用具体的类去继承抽象类,这样就把具体的观察者类与具体的监听类分离开,事实现解耦合。在主函数中,实例化具体的观察者类和监听类,这样就实现了观察者模式。借用大话设计模式代码:
监听者类:
观察者类:
主函数:
观察者模式
最新推荐文章于 2020-12-29 15:41:10 发布