He leído durante tres días sobre los patrones Model-View-Controller (MVC) y Model-View-Presenter (MVP) . Y hay una pregunta que me molesta mucho. ¿Por qué los diseñadores de software inventaron MVP, cuando ya había un MVC?
¿Qué problemas enfrentaron, que MVC no resolvió (o resolvió mal), pero MVP puede resolver? ¿Qué problemas pretende resolver MVP?
He leído muchos artículos sobre la historia y la explicación de MVP, o sobre las diferencias entre MVC y MVP, pero ninguno tenía una respuesta clara a mis preguntas.
En uno de los artículos que leí, se decía:
Ahora en Model View Presenter, que fue una respuesta a las deficiencias del patrón MVC cuando se aplicó a las interfaces gráficas de usuario modernas basadas en componentes. En los sistemas GUI modernos, los componentes de la GUI manejan la entrada del usuario, como los movimientos del mouse y los clics, en lugar de un controlador central.
Entonces, no puedo entender, pero ¿puede ser de otra manera, de modo que los componentes de la GUI no manejen la entrada del usuario por sí mismos? ¿Y qué significa exactamente "manejar por sí mismos"?