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.