【发布时间】:2010-06-13 22:42:16
【问题描述】:
我正在创建一个基于事件的 API,用户可以通过添加侦听器对象来订阅事件(这在 Java 或 C# 中很常见)。引发事件时,将使用事件信息调用所有订阅的侦听器。
我最初决定避免多次添加事件侦听器。如果添加了监听器集合中已经存在的监听器,则不会再次添加。然而,在考虑了更多之后,似乎大多数基于事件的结构实际上并没有阻止这种情况。我最初的直觉错了吗?我不知道该走哪条路。我想我认为阻止添加现有侦听器将有助于避免常见的编程错误。再说一次,它还可以隐藏一个错误,该错误会导致代码在不应该运行的情况下多次运行。
【问题讨论】:
标签: events event-handling