1
63
“听者”一词是否指观察者模式将取决于上下文。例如,JavaSwing的“事件监听器”是Observer模式实现的一部分,而.Net的“跟踪监听器”则不是。 框架作者为参与给定模式实现的组件分配不同的名称并不少见,但是在讨论模式本身时通常使用正式的模式名称。 在设计方面,给定模式的实现常常会受到所使用的语言和平台的影响。因此,给定框架中观察者模式的特定实现(可能碰巧使用术语“侦听器”来描述ConcreteObserver的角色)可能与设计模式书中描述的略有不同。 |
2
29
在他们对观察者的描述中,其中一个具体的观察者可能会发出改变其主题的信号。主体持有所有具体观察者的列表,然后通知其列表。所有观察者,包括原动机,都会做出适当的反应。 侦听器的常见实现似乎都对来自外部的事件作出反应。 所以,我要说的是,听者是一个不太一般化的观察者。 |
3
3
侦听器很可能是observer模式的一个实现。侦听器本质上是在等待给定对象上发生事件,而观察者就是这样做的。 我知道你不想得到一个特定语言的答案,但很难抽象地谈论这些东西。因此,如果我要在.NET中对此进行研究,我倾向于在.NET Reflector中打开一个包含侦听器的程序集,这将允许我分解程序集并对照设计模式检查其逻辑。 |
Shahid Ghafoor · spring引导和阻止队列侦听器 6 年前 |
DCR · 如何有效添加JS监听器 6 年前 |
prmph · 当事件挂起时附加新侦听器会发生什么情况? 6 年前 |
Craig Rayner · 填充安全令牌后的Symfony条令侦听器 6 年前 |
ghost387263 · 日期到期时清算 7 年前 |
user3390251 · URL参数更改时的侦听器事件 7 年前 |