2007-07-25
多主题多订阅者的情况怎样处理比较好?
在单主题多订阅者的情况,就是用Observer模式了。
但是对于多主题多订阅者,如果对于每一个主题的更新,模型都要清楚的知道哪些订阅者订阅了这个主题,这样的耦合度是不是太高了?但是如果不这样的话,那么一个主题的更新,就带来所有订阅者的更新——无论这个订阅者是否订阅了这个主题,这又是很大的浪费把?
比如在一个模型中,有主题A,B,C,订阅者有a,b,c,d,其中a,b订阅A,b,c订阅B,a,c,d订阅C,或者主题再多上一些,有几十个的话,这时候怎样设计比较好呢?
但是对于多主题多订阅者,如果对于每一个主题的更新,模型都要清楚的知道哪些订阅者订阅了这个主题,这样的耦合度是不是太高了?但是如果不这样的话,那么一个主题的更新,就带来所有订阅者的更新——无论这个订阅者是否订阅了这个主题,这又是很大的浪费把?
比如在一个模型中,有主题A,B,C,订阅者有a,b,c,d,其中a,b订阅A,b,c订阅B,a,c,d订阅C,或者主题再多上一些,有几十个的话,这时候怎样设计比较好呢?
评论
dearwolf
2007-07-27
晕,模型当然不需要知道具体的订阅者了,它只需要知道有人订阅而已。
Morgan0916
2007-07-26
建议你再看看Observer模式吧
"但是对于多主题多订阅者,如果对于每一个主题的更新,模型都要清楚的知道哪些订阅者订阅了这个主题,这样的耦合度是不是太高了?"
如果模型都不知道订阅者,还叫订阅吗? 肯定需要订阅注册的
"但是对于多主题多订阅者,如果对于每一个主题的更新,模型都要清楚的知道哪些订阅者订阅了这个主题,这样的耦合度是不是太高了?"
如果模型都不知道订阅者,还叫订阅吗? 肯定需要订阅注册的
dearwolf
2007-07-25
嗯,我想最好还是重新审视一下设计,看看能不能变成单对多
dearwolf
2007-07-25
SunMicro 写道
Observer一般可以配合singleton和Mediator,将Mediator实现为singleton,然后通过mediator注册发布则和订阅者
好的,我去看一下,谢谢!
dearwolf
2007-07-25
ltian 写道
楼主在讨论消息编程吗?pub/sub方式不存在以上你说的耦合情况吧,除非你要做一个JMS提供者,而非JMS客户端。
对于多对多的情况,简单的使用pub/sub当然会存在耦合了
SunMicro
2007-07-25
Observer一般可以配合singleton和Mediator,将Mediator实现为singleton,然后通过mediator注册发布则和订阅者
ltian
2007-07-25
楼主在讨论消息编程吗?pub/sub方式不存在以上你说的耦合情况吧,除非你要做一个JMS提供者,而非JMS客户端。
- 浏览: 155872 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
sina
共 3 张
共 3 张
最近加入圈子
链接
最新评论
-
Starting Struts2中文版已 ...
呵呵,希望大家可以喜欢
-- by dearwolf -
Starting Struts2中文版已 ...
正在看这本书!! 哈哈
-- by kanokano -
CSDN英雄大会上,跟苏某翻 ...
我只想到。。。这么年轻就有仔了,好可怜阿。。。。
-- by akane -
CSDN英雄大会上,跟苏某翻 ...
BJOP上见过你
-- by Ivan Li -
CSDN英雄大会上,跟苏某翻 ...
书的长相看的不太清楚,倒你的长相看的一清二楚啊!
-- by 惊鸿逝水






评论排行榜