如何不用composite实现职责链(Chain of Responsibility)

kenli 2004-11-10 11:38:00
Chain of Responsibility简单说就应该是不停的向下传递,直到client的请求有人相应. 实现这个链一般都用到composite模式, 我看Design Patterns Java Workbook的时候,他提出来一个问题,就是如何不使用composite模式来实现Chain of Responsibility?

发上来大家讨论一下.
...全文
138 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jeffyan77 2004-11-12
思考题答案:我使用了memento 模式。
  • 打赏
  • 举报
回复
kenli 2004-11-11
登记式单列模式? 有这么一个模式么?
还有其它解决方案么?
  • 打赏
  • 举报
回复
kenli 2004-11-11
这样做的结果是更灵活了,但是增加了复杂度. 不过不管如何, 都要形成一个链, 成员自己不维护的话,只有求助于其它object.
  • 打赏
  • 举报
回复
showerXP 2004-11-11
登记式单列模式

  • 打赏
  • 举报
回复
jeffyan77 2004-11-10
思考题:我在上面建议的这种做法是使用了什么模式?
  • 打赏
  • 举报
回复
jeffyan77 2004-11-10
这很简单。使用composite模式是因为每一个成员都自己储存下一个成员。这就是composite模式的应用。

要消除这种引用,可以使用一个单独的对象Registrar,用来记录谁是谁的下一个。这就消除了composite模式。
  • 打赏
  • 举报
回复
发帖
Java
加入

4.9w+

社区成员

Java相关技术讨论
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
申请成为版主
帖子事件
创建了帖子
2004-11-10 11:38
社区公告
暂无公告