免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4194 | 回复: 3
打印 上一主题 下一主题

Event Notifier, a Pattern for Event Notification [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-09-12 09:55 |只看该作者 |倒序浏览
[这个贴子最后由cinc在 2002/09/12 10:12pm 编辑]

基于事件的模式 设计模式中最常见的一种,本文介绍了一个发展出来的新的事件模式:
Publisher-Subscriber 模式

Event Notifier, a Pattern for Event Notification
http://www.dralasoft.com/products/eventbroker/whitepaper/


Event Nodifier 是一种由 Mediator 和 Observr 模式结合而产生的一种模式。
实际上就是 Publisher-Subscriber 模式。

模式的中心是一个 EventService,整个过程分为三步:
  Subscriber 到 EventService 订阅自己感兴趣的的事件
  当事件发生,Publisher 把事件发布 EventService
  EventService 通知感兴趣的 Subscriber

通过 EventService 隔离了 Publisher 和 Subscriber,使他们之间的联系只是
通过事件,实现了松耦合的结构,以后加入新的Subscriber,Publisher 也不会
对系统发生影响。

可充分利用 Java 的 RTTI 属性,建立层次的事件模型。

但 EventService 成为一个单点故障点,和性能的瓶颈

本文还介绍了 这个模式在 分布式系统下的一些修改和应用

论坛徽章:
0
2 [报告]
发表于 2002-09-12 10:50 |只看该作者

Event Notifier, a Pattern for Event Notification

事件响应可是做桌面程序的重中之重,直接影响执行效率

值得特学而大学

论坛徽章:
0
3 [报告]
发表于 2002-09-12 12:44 |只看该作者

Event Notifier, a Pattern for Event Notification

呵呵,桌面程序是事件相应模式用的挺多的一个地方。

在通常情况下,任何一个对象,如果他希望自己的状态改变让另一个(几个)对象知道,
并最此作出反映,都可以应用事件相应模式。

事件相应模式对这种情况提供了很大的灵活性。。。:)

论坛徽章:
0
4 [报告]
发表于 2002-09-14 18:50 |只看该作者

Event Notifier, a Pattern for Event Notification

[这个贴子最后由cinc在 2002/09/14 06:52pm 编辑]

这里有个 Remote Notification 的例子:股票
http://www.eli.sdsu.edu/courses/spring99/cs696/notes/rmiStock/rmiStock.html



应用了 server push 的技术,把 Observer 模式用到了 rmi 的环境中:

StockServer 是一个存放股票信息的服务器,股票的价格不定期更新,
StockWatch 是股票服务器提供的服务:
  watch: StockViewer 把自己感兴趣的几只股票告诉 StockServer
  cancel: StockViewer 从自己感兴趣的股票列表中去除一个 股票
StockServer接口 可以接受多个 StockViewer 的连接
当 StockServer 上的股票信息发生变化时,通知对这只股票感兴趣的 StockViewer

StockNotify 接口是 StockViewer 希望股票服务器对他做的事情:
  当股票出现变化时,调用此接口的 update() 方法告诉他

由于 StockWatch 和 StockNotify 都需要远程调用,所以他们均是 Remote 的子接口

运行过程:

服务器:
1.StockServer 启动  
2.StockServer
3.StockServer 把自己的 StockWatcher 接口 StockWatch 注册到 RMI,接受远程调用

客户机:
1.StockViewer 启动
2.从 RMI 服务器找到 StockServer
3.把自己感兴趣的股票告诉 StockServer
4.把自己的 StockNotify 接口 export 出去

当股票信息发生变化时:
StockerServer 根据各个 StockViewer 感兴趣的股票,发送更新给相应的人  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP