Przez trzy dni czytałem o wzorcach Model-View-Controller (MVC) i Model-View-Presenter (MVP) . I jedno pytanie bardzo mnie niepokoi. Dlaczego projektanci oprogramowania wymyślili MVP, skoro już istniał MVC?
Jakie napotkali problemy, których MVC nie rozwiązało (lub rozwiązało źle), ale MVP może rozwiązać? Jakie problemy ma rozwiązać MVP?
Czytałem wiele artykułów o historii i wyjaśnieniach MVP lub różnicach między MVC i MVP, ale żaden nie miał jasnej odpowiedzi na moje pytania.
W jednym z artykułów, które czytałem, powiedziano:
Teraz na Presenter widoku modelu, który był odpowiedzią na niedoskonałości wzoru MVC po zastosowaniu go do nowoczesnych graficznych interfejsów użytkownika opartych na komponentach. W nowoczesnych systemach GUI same komponenty GUI obsługują dane wejściowe użytkownika, takie jak ruchy myszy i kliknięcia, a nie niektóre kontrolery centralne.
Nie mogę więc zrozumieć, ale czy może być inaczej, tak aby komponenty GUI same nie obsługiwały danych wprowadzanych przez użytkownika? A co dokładnie oznacza „poradzić sobie sami”?