Wie funktioniert ein MVC-System?

Ich versuche, das MVC-Muster zu lernen, aber jeder Ort sagt etwas anderes. Jetzt weiß ich nicht, was die wahre MVC ist.

Also denke ich, es ist die reinste MVC:

Modell istnur Daten und benachrichtigen Sie Datenänderungen.Aussicht liest die Botschaften derModell um die Ansicht zu aktualisieren.Regler Liest die Benutzereingabe vonAussicht und ändert das Modell entsprechend.

Umsetzung

Modell kennt niemanden.Aussicht kennt dasModell.Regler kennt beidesAussicht undModell.

Pseudocode:

/* Model */
class Color{ 
  color = blue;
  setColor(color);
  notifyUpdate();
}
/* View */
class ColorPicker(model){
  model.register(update);
  update(){
    this.colorToExhibit = model.color;
  }
}
/* Controller */
class Colorize(view, model){
  view.register(update);
  update(color){
    model.setColor(color);
  }
}

Einige Fragen:

Ist das richtig?Ich kann nicht verstehen, warum das so istAussicht kann das nicht ändernModell direkt, aber über Controller.Angenommen, ich habe Animationen, die nach einer Aktion ausgeführt werden sollen. Wer muss mit dieser Animation umgehen: das Modell, die Ansicht oder der Controller? Außerdem: Die Animationslogik ist Teil des Modells, der Ansicht oder des Controllers. Mehr: Angenommen, ein Pokerspiel. Nachdem der Benutzer eine Aktion ausgewählt hat (z. B. "Erhöhen"), muss das System eine Animation abspielen (z. B. die Chips, die vom Platz des Spielers zum Schreibtisch gelangen). Wie kann ich dieses Poker-Beispiel (mit Animation) als MVC sehen? Können Sie das erklären und einen Pseudocode angeben?

Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage