前阵子在写后台程序。一个宠物游戏的java服务端。
需要宠物在做某些事情或数据发生变化时,发送消息邮件给用户或其他的动作。
看到Observer模式后编简单的实现了一下。想法并不算好。
定义了一个接口,该接口由观察者调用,具体的操作在实现类中写
一个ObserverExecuter的实现类
ObserverExecuter配置为xml,该xml放于classpath/data/Observer.xml例如:
主观察类,由该类来执行executer
ObservableProxy类,由它来通知TrigerObserver
最后一个Manager类,主要功能是解析并初始化ObserverExecuter配置。并起一个线程来随时通知Observer
写好上面的东东。接下来当然是能够调用了。
基于上面的代码。能够实现在需要的地方。new 一个ObserverProxy,并传入相应的参数给Execter实现类。在实现类做具体的事情。
前提是要在Observer.xml写好配置。