В течение трех дней я читал о шаблонах Model-View-Controller (MVC) и Model-View-Presenter (MVP) . И есть один вопрос, который меня очень беспокоит. Почему разработчики программного обеспечения изобрели MVP, когда уже был MVC?
С какими проблемами они столкнулись, что MVC не решил (или решил плохо), но MVP может решить? Какие проблемы должен решить MVP?
Я прочитал много статей об истории и объяснении MVP, или о различиях между MVC и MVP, но ни одна не дала четкого ответа на мои вопросы.
В одной из статей, которые я прочитал, было сказано:
Теперь перейдем к Model View Presenter, который был ответом на неадекватность шаблона MVC применительно к современным компонентным графическим пользовательским интерфейсам. В современных системах с графическим интерфейсом сами компоненты GUI обрабатывают вводимые пользователем данные, такие как движения мыши и щелчки, а не некоторый центральный контроллер.
Итак, я не могу понять, но может ли это быть по-другому, чтобы компоненты GUI не обрабатывали пользовательский ввод самостоятельно? И что именно означает "справиться с собой"?