/*
观察者设计模式:观察者设计模式解决的问题时当一个对象发生指定的动作时,要通过另外一个对象做出相应的处理。
需求: 编写一个气象站、一个工人两个类,当气象站更新天气 的时候,要通知人做出相应的处理。
问题1: 气象站更新了多次天气,然后人才做一次的处理。
问题2: 目前气象站只能通知一个人而已。
问题3: 在现实生活中出了工人群体要关注天气,其他 的群体也需要关注天气
观察者设计模式的步骤:
1. 当目前对象发生指定的动作时,要通知另外一个对象做出相应的处理,这时候应该把对方的相应处理方法定义在接口上。
2. 在当前对象维护接口的引用,当当前对象发生指定的动作时,这时候即可调用接口中的方法了。
观察者设计模式:观察者设计模式解决的问题时当一个对象发生指定的动作时,要通过另外一个对象做出相应的处理。
需求: 编写一个气象站、一个工人两个类,当气象站更新天气 的时候,要通知人做出相应的处理。
问题1: 气象站更新了多次天气,然后人才做一次的处理。
问题2: 目前气象站只能通知一个人而已。
问题3: 在现实生活中出了工人群体要关注天气,其他 的群体也需要关注天气
观察者设计模式的步骤:
1. 当目前对象发生指定的动作时,要通知另外一个对象做出相应的处理,这时候应该把对方的相应处理方法定义在接口上。
2. 在当前对象维护接口的引用,当当前对象发生指定的动作时,这时候即可调用接口中的方法了。
*/
WeatherStation发布天气:
工人根据天气做出相应的反应:
学生根据天气做出相应的反应:
//订阅天气预报的接口,所有想要收听天气的人都必须要实现该接口
主函数:
运行结果: