读书人

怎么使用观测者模式实现监控和推送

发布时间: 2013-10-08 16:38:32 作者: rapoo

如何使用观测者模式实现监控和推送

观测者模式已在博客"设计模式之观测者模式"中介绍,下面说下如何将观察者模式应用在实际工作中。

问题描述

某业务系统会定期接收到传回来的数据,数据放在一个目录下。由于业务的需要,当有新的数据产生时,需要将数据上传到多台机器上。你如何设计这个业务逻辑呢?

功能设计

放在目录下的数据时不断更新的,我们需要一个守护线程来监控目录下数据的变化,当有新数据时就通知观测者observers。这里的观测者是需要将数据上传到FTP服务器的对象,当有新数据产生时,就上传数据到FTP服务器。

这里很适合用观测者模式来解决,其中subject的功能是监控目录变化,和通知观测者变化的数据。观测者的功能是上传新的数据到FTP服务器,这里有多个观测者,而且虽这业务的发展,观察者的数目是变化的。

采用观测者模式,可以在不修改代码的情况下,很容易的添加观测者。

详细设计监控目录变化的subject:

观测者模式模版 下面写了一个通用的观测者模式模版代码,用户只需要在对应地方加入自己的业务逻辑即可sunbject类:只需要修改logicMethod方法中的业务逻辑即可。
                怎么使用观测者模式实现监控和推送


读书人网 >软件架构设计

热点推荐