【发布时间】:2010-12-22 17:57:56
【问题描述】:
我的一个朋友最近在他的团队中就事件驱动编程与顺序编程的优缺点发生了争论。
您对此有何看法?
【问题讨论】:
-
应该是社区 Wiki,因为没有真正的答案。
-
我不知道没有真正的答案。这并不是一个非此即彼的冲突,尽管他是如何措辞的。它们中的每一个实际上都有一个明确的目的,并且彼此之间并没有真正的矛盾。
我的一个朋友最近在他的团队中就事件驱动编程与顺序编程的优缺点发生了争论。
您对此有何看法?
【问题讨论】:
两种不同的方法来支持两种不同的需求。如果您遇到由事件驱动的问题,那么您应该使用事件驱动的方法。如果您需要对定义的数据执行过程,但您不担心其他地方发生了什么,那么显然您希望使用更“顺序”的样式。
请注意,通常情况下,这两件事是结合在一起的。程序的启动、关闭,以及可能的主处理循环(例如,图像应用程序中的过滤器处理器)将在很大程度上是连续的,而它的 UI 层和组件交互是事件驱动的。
【讨论】:
据我了解:
事件驱动设计适用于必须对用户请求/需求做出反应的软件。据我所知,通常大多数基于 GUI 和在线的软件都是这样的。它没有或很少有预定义的操作顺序,因为用户可以选择做任何事情(在应用程序的范围内)。
顺序在批处理中更常见。在很少或没有用户输入的情况下运行的软件。操作顺序在很大程度上是预设好的。
没有严格的划分,因为基于 GUI 的工具显然可以包含运行时间相对较长的批处理。
【讨论】: