为什么事件类型通常存储在事件的类定义中?

时间:2010-12-16 22:44:08

标签: actionscript-3 oop events event-handling

在我遇到的所有ActionScript示例中,人们使用自定义事件的类定义中定义的类型编写自定义事件。但是,根据我的经验,调度事件的对象拥有自己对该事件的定义(在ActionScript 3中是一个String)更有意义。

[编辑:在写完这个问题之后,我发现两个位置都有例子 - 在某些情况下,事件类型应该存储在事件对象上,而在其他情况下,它们应该存储在对象上派遣活动。]

请告诉我您对此的看法以及您发现自己存储事件类型的位置。

2 个答案:

答案 0 :(得分:1)

在过去的几年里,我实际上一直在使用这些的组合,主要是在PureMVC的背景下。 Flash实例(视图组件)捕获Flash事件,然后调度一个Event,其中type是在该类中定义的静态字符串。中介捕获视图组件事件,然后发送通知,其中注释在中央应用程序外观类中定义。我也尽可能地尝试不将子类化为子类,并尽量减少音符体中的传递数据。

我觉得这样可以最大程度地灵活地修改接口和应用程序逻辑,并且还可以在应用程序之间提供更多代理和介体/组件的重用。

答案 1 :(得分:0)

如果事件调度员有关于事件定义的代码,那么调度员可以说是内聚的。我倾向于让事件调度程序实现稳定的接口,从而保护它免受事件的变化。这也将减少与调度员的耦合,并在处理事件时提供更大的灵活性。