3

我试图寻找两者之间的差异Event-Delegation ModelEvent-Inheritance Model但没有找到足够具体的答案来区分两者。

这两种模型之间的真正区别是什么,在什么情况下它们被认为是有效的解决方案?

4

2 回答 2

2

据我所知,事件继承模型让发起者将所有消息发送给所有观察者。观察者负责决定应用哪些消息。这种模型的优点是多个观察者可以处理相同的消息。这种模型的缺点是当你有很多发起者和观察者时它很快就会变得复杂。

事件委托模型要求观察者向发起者注册。如果发起者只有一种注册方法,则类似于事件继承模型。当发起者有多个注册方法时,发起者就有能力只向需要消息的观察者发送消息。当您有很多发起者和观察者时,事件委托模型可以更好地扩展。

于 2012-05-08T14:50:54.327 回答
0

与事件继承模型相比,事件委托模型有两个优点。

  • 它通过处理由事件或其容器生成的对象以外的对象来启用事件处理。它清楚地将组件设计及其使用分开。

  • 它在生成更多事件的应用程序中表现得更好。正是因为这样的事实,该模型不需要重复处理未处理的事件,事件继承模型就是这种情况

于 2013-02-07T11:13:55.303 回答