我获得了一些PureEMVC的经验,我想使用键盘命令来控制我的视图。该应用程序的其余部分不需要知道此观点在做什么。

我应该将它们直接放在视图中,还是应该在其他地方放置,并在按下键时使用通知通知视图?

谢谢!

有帮助吗?

解决方案

正如您所说,您有两种选择 - 将一些听众放入View.mxml课程中,或者将听众放入某些通用类。

1 -ST-这似乎是正常的方法,无需进一步的解释,每个程序员都会做同样的事情。

2-nd方法更有趣。如果您有很多视图,请聆听键盘事件,您将开始使用类似

public class EnterButtonPressed extends SimpleCommand 
{
  function execute(...):void
  {
    //do something with the model, and then notify the view
  }
}

但是在添加了更多应该听的观点之后 Enter 钥匙你们的班级会这样结束

public class EnterButtonPressed extends SimpleCommand {
  function execute(...):void
  {
    switch(viewType)
    {
      case view1:
        //do something with the model, and then notify view1
        break;
      case view2:
        //do something with the model, and then notify view2
        break;
      case view3:
        //do something with the model, and then notify view3
        break;
      case view4:
        //do something with the model, and then notify view4
        break;
      ...
  }
}

如果您听许多键盘事件,那似乎很糟糕。但是,如果您对设计模式很熟悉,则可以使用 状态模式.

当我遇到许多不同的视图状态聆听许多事件时,这对我的最新项目有很大帮助。

我也建议您看看 伴侣 框架,就像pureemvc +数据绑定 + flex事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top