Eu li por três dias sobre os padrões Model-View-Controller (MVC) e Model-View-Presenter (MVP) . E há uma pergunta que me incomoda muito. Por que os designers de software inventaram o MVP, quando já havia um MVC?
Quais problemas eles enfrentaram, que o MVC não resolveu (ou resolveu mal), mas o MVP pode resolver? Quais problemas o MVP pretende solucionar?
Eu li muitos artigos sobre o histórico e a explicação do MVP, ou sobre as diferenças entre o MVC e o MVP, mas nenhum teve uma resposta clara para minhas perguntas.
Em um dos artigos que li, foi dito:
Agora no Model View Presenter, que era uma resposta às inadequações do padrão MVC quando aplicado a interfaces gráficas de usuário modernas baseadas em componentes. Nos sistemas modernos da GUI, os próprios componentes da GUI tratam da entrada do usuário, como movimentos e cliques do mouse, em vez de algum controlador central.
Então, eu não consigo entender, mas pode ser de outra maneira, de modo que os componentes da GUI não lidem com a entrada do usuário por si mesmos? E o que exatamente "lidar com eles" significa?