我尝试搜索Event-Delegation Model
和Event-Inheritance Model
之间的差异,但没有找到具体到足以区分这两者的答案。
这两个模型之间的真正的差异是什么?在什么情况下它们被认为是有效的解决方案?
答案 0 :(得分:1)
据我所知,事件继承模型让发起者将所有消息发送给所有观察者。观察者负责决定应用哪些消息。该模型的优点是多个观察者可以处理相同的消息。这种模式的缺点是,当你有很多发起者和观察者时,它会很快变得复杂。
事件委托模型要求观察者向发起者注册。如果启动器只有一个注册方法,那么这类似于事件继承模型。当启动器具有多个注册方法时,启动器能够仅向需要该消息的观察者发送消息。当你有很多发起者和很多观察者时,事件委托模型会更好地扩展。
答案 1 :(得分:0)
事件委托模型比事件继承模型有两个优点。
它通过处理事件或其容器生成的对象以外的对象来启用事件处理。它明确区分了组件设计及其用途。
在生成更多事件的应用程序中,它的表现要好得多。正是因为事实,这个模型不需要重复处理未处理的事件,事件继承模型就是这种情况