Jak działa system MVC?

Próbuję poznać wzór MVC, ale każde miejsce mówi coś innego. Więc teraz nie wiem, co to jest prawdziwy MVC.

Zgaduję więc, że jest to najczystszy MVC:

Model jesttylko dane i powiadamiaj o zmianach danych.Widok czyta wiadomościModel zaktualizować widok.Kontroler odczytuje dane wejściowe użytkownikaWidok i zmienia Model według.

Realizowanie

Model nie zna nikogo.Widok znaModel.Kontroler wie zarównoWidok iModel.

Pseudo kod:

/* 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);
  }
}

Kilka pytań:

Czy to prawda?Nie rozumiem dlaczegoWidok nie można zmienićModel bezpośrednio, ale za pośrednictwem kontrolera.Załóżmy, że mam animacje do wykonania po akcji. Kto musi obsługiwać tę animację: model, widok lub kontroler? Ponadto: logika animacji jest częścią modelu, widoku lub kontrolera? Więcej: Załóżmy, że gra w pokera. Po wybraniu akcji przez użytkownika (powiedz „Podnieś”), system musi zagrać animację (powiedzmy, żetony przechodzą z miejsca gracza na biurko). Jak mogę zobaczyć ten przykład pokera (z animacją) jako MVC? Czy możesz wyjaśnić i podać pseudokod na ten temat?

Dziękuję Ci.

questionAnswers(3)

yourAnswerToTheQuestion