Tło: Myślałem o tym od dłuższego czasu i nie znalazłem żadnej dobrej odpowiedzi. Po pewnym czasie pracy z WebForms i okresowo z MVC 2,3 i 4 nadal nie rozumiem, w jaki sposób ASP.NET MVC może twierdzić, że jest implementacją wzorca MVC.Czy ASP.NET MVC jest błędną implementacją wzorca architekta MVC?
Jedną z pierwszych rzeczy, o których dowiedziałem się o MVC (wzorzec), jest to, że jest cykliczny - co oznacza, że widok używa kontrolera, który aktualizuje model, który aktualizuje widok - i tak to idzie, w kółko. Oczywiście z Użytkownikiem w kręgu do wprowadzania nowych instrukcji/danych itp.
Jednak ASP.NET MVC nie jest tak naprawdę cykliczną implementacją, co zostało zademonstrowane na kolorowym obrazku poniżej z W3CSchools. Widziałem to również w praktyce, gdy widok ma instancję modelu, a model jest aktualizowany z kontrolera, ale gdzie kontroler jest również odpowiedzialny za aktualizację widoku po zaktualizowaniu modelu.
Pytanie: Czy ASP.NET MVC błędnie wprowadzone przez świadome i powinno być postrzegane jedynie jako zastrzeżonej interpretacji albo ja źle zasady wzorzec MVC?
dobre pytanie. Inne implementacje frameworków MVC, które widziałem izolują widok z modelu. Przykładami są iOS i Android. W ASP.NET MVC można użyć modelu wewnątrz widoku. – Slavo
Tak, to jest złe. Głównie dlatego, że oryginalna wersja 1.x przyjęła Railsy jako szablon (który faktycznie implementuje dziwną dezaprobatę PAC i miksu PageController). Obecne wersje ASP.NET MVC wciąż cierpią z powodu tego wyboru. –
Oznaczałbym jako odpowiedź, gdybym mógł. – Marcus