如何将观察者模式应用于长尾词的实时更新与反馈?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1991个文字,预计阅读时间需要8分钟。
生活中的一种场景:设想一本期刊,很多人都想看,但它的出版时间不固定,有好内容时就出。
生活中的一个场景:假设一份期刊,很多人都想看,但是这份期刊的出版时间不是固定的,有好内容的时候就出,没有规律。而这份期刊的读者又都想第一时间读到最新的内容,针对这一情况怎么处理,有两种方法:
第一种:很笨的方案,就是读者每天(甚至每天好几次)都向出版社询问是否出了新的期刊,如果出了的话,就直接买来读,没有的话,读者接着每天询问下去,这种方案,虽然能实现读者尽可能读到最新的期刊,但对于读者和出版社都是一个痛苦的过程。
第二种:就是我们本篇文章要讲到的 观察者模式 ,要想读这份期刊的读者都去出版社订阅这份期刊,这样,到出版社出版新的期刊的时候,出版社根据自己的订阅表单查询订阅该期刊的读者,而后将新的期刊发送给读者。这样一来,读者和出版社都省了很多事情,还能高效地解决读者第一时间读到新期刊的需求。
将上述问题抽象地用编程的概念来描述就是:当一个对象 (期刊) 的状态发生改变 (有新的期刊) 的时候,如何让依赖于它的对象 (读者) 得到通知。这就是 观察者模式 要解决的问题。
本文共计1991个文字,预计阅读时间需要8分钟。
生活中的一种场景:设想一本期刊,很多人都想看,但它的出版时间不固定,有好内容时就出。
生活中的一个场景:假设一份期刊,很多人都想看,但是这份期刊的出版时间不是固定的,有好内容的时候就出,没有规律。而这份期刊的读者又都想第一时间读到最新的内容,针对这一情况怎么处理,有两种方法:
第一种:很笨的方案,就是读者每天(甚至每天好几次)都向出版社询问是否出了新的期刊,如果出了的话,就直接买来读,没有的话,读者接着每天询问下去,这种方案,虽然能实现读者尽可能读到最新的期刊,但对于读者和出版社都是一个痛苦的过程。
第二种:就是我们本篇文章要讲到的 观察者模式 ,要想读这份期刊的读者都去出版社订阅这份期刊,这样,到出版社出版新的期刊的时候,出版社根据自己的订阅表单查询订阅该期刊的读者,而后将新的期刊发送给读者。这样一来,读者和出版社都省了很多事情,还能高效地解决读者第一时间读到新期刊的需求。
将上述问题抽象地用编程的概念来描述就是:当一个对象 (期刊) 的状态发生改变 (有新的期刊) 的时候,如何让依赖于它的对象 (读者) 得到通知。这就是 观察者模式 要解决的问题。

