随着时间的推移对(UI)事件的模式做出反应

时间:2015-07-24 15:57:22

标签: user-interface events design-patterns drag-and-drop stream

在一段时间内寻找事件模式以及触发新事件的表达方式是什么?

例如,用户界面事件通常是构建简单事件的模式,例如mousedown / up,mousemove或keyup / keydown。

拖放交互需要侦听mousedown事件,然后是一些mousemove事件,然后是mouseup,并查找不同事件是否可以拖动可拖动/可放置的UI对象。此外,您可能希望有一个时间和距离阈值,以避免在用户尝试单击时触发拖动,并且您可能想要查找修改键,或者转义以取消交互。

处理这些事情时,由于单个事件监听器的数量很快变得复杂且容易出错,调试很棘手,并且经常导致不同事件之间的冲突。

简洁明了地表达这些模式有哪些抽象常见?

1 个答案:

答案 0 :(得分:0)

作为构造代码的一种方式,Composite模式会浮现在脑海中,因为您有原始事件组合形成复杂事件,而所有事件都符合基本接口。

对于行为模式,我们直观地认为事件是可观察的;但是在复合事件的情况下,我们也可以将其视为Observer,其中复杂事件会观察一个或多个原始事件。