使用事件与直接调用Flex/Flash Builder中的子项的父应用程序函数

Ste*_*ven 1 apache-flex parent-child actionscript-3 flash-builder

如果我需要从flex项目中的子项调用父应用程序中的特定函数,那么最佳实践是什么?是从子节点调度自定义事件并让侦听器调用该函数吗?或者直接使用FlexGlobals.topLevelApplication调用该函数?

小智 5

OOP会说事件是要走的路,因为全局变量是反OOP,并且因为事件至少促进了调用者和被调用者之间的某种程度的分离.

  • +1; 我会更广泛地说"Globals是反封装的".任何决定总会有权衡; 但根据原始海报缺乏细节; 我们无法判断在这种情况下访问topLevelApplication会有多糟糕.作为基本规则; 不要这样做. (2认同)