我们应该将事件用于非实时应用程序

时间:2015-10-06 09:31:46

标签: events event-handling

我看到所有框架都有自己的事件实现:

我看到我们可以在没有任何事件的情况下完成所有事情,我发现我们可以非常依赖它(正如Symfony维护者似乎倾向于这样)

是否有使用它们的共同规则/全球良好做法?

我们应该[使用|不使用]活动在哪里?

我排除了我们需要在服务器和客户端或用户和应用程序之间使用javascript进行实时交互的情况(也许我应该只讨论Web应用程序) < / p>

1 个答案:

答案 0 :(得分:1)

示例:

  • 异步执行一些耗时的任务,例如在注册后向新用户发送电子邮件。您创建一个发送电子邮件的服务。此服务订阅了在将响应发送给用户后触发的事件。这样,您就不会让用户等到电子邮件发送完毕。
  • 您需要扩展库的功能。您可以编写在触发某些事件时执行某些操作的侦听器。这样,您可以修改默认行为,而无需修改原始源代码。当您更新库时,您的代码将继续有效。

我认为主要的缺点是事件驱动的代码更难调试。您必须进行一些研究,以找出已调用哪些侦听器以及调用它们的顺序。