Frage

Ich bekomme einige Puremvc -Erfahrung und möchte Tastaturbefehle verwenden, um meine Ansicht zu steuern. Der Rest der Anwendung muss nicht wissen, was diese Ansicht tut.

Sollte ich sie direkt in die Ansicht setzen oder sollten sie an einem anderen Ort sein und die Ansicht mit einer Benachrichtigung benachrichtigt werden, wenn eine Taste gedrückt wird?

Vielen Dank!

War es hilfreich?

Lösung

Wie Sie sagten, haben Sie zwei Alternativen - um einige Zuhörer in die Klasse der Aussicht zu setzen.

1 -st - Dies scheint der normale Ansatz zu sein, keine weiteren Erklärungen, jeder Programmierer wird dasselbe tun.

2-ND-Ansatz ist interessanter. Wenn Sie viele Ansichten haben, wenn Sie nach Tastaturereignissen hören, werden Sie so etwas wie verwenden

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

Aber nachdem weitere Ansichten hinzugefügt wurden, die zuhören sollen Enter Schlüssel Ihre Klasse wird so enden

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;
      ...
  }
}

Was schrecklich erscheint, wenn Sie viele Tastaturereignisse zuhören. Wenn Sie jedoch den Entwurfsmustern vertraut sind, können Sie verwenden Zustandsmuster.

Es hat mir in meinem neuesten Projekt sehr geholfen, als ich auf viele verschiedene Ansichtsstaaten stieß, um viele Veranstaltungen zu hören.

Ich empfehle Ihnen auch, einen Blick darauf zu werfen Kamerad Framework, es ist wie Puremvc + Datenbindung + Flex -Ereignisse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top