He leído durante tres días sobre el Model-View-Controller (MVC) ) y Model-View-Presenter (MVP) patrones. Y hay una pregunta que me molesta mucho. ¿Por qué los diseñadores de software inventaron MVP, cuando ya existía un MVC?
¿A qué problemas se 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 tuvo una respuesta clara a mis preguntas.
En uno de los artículos que leí, se dijo:
Ahora en Model View Presenter, que fue una respuesta a las insuficiencias 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 y clics del mouse, en lugar de un controlador central.
Por lo tanto, no puedo entenderlo, pero ¿puede realmente ser de otra manera, de manera que los componentes de la GUI no manejen la entrada del usuario por sí mismos? ¿Y qué significa exactamente "manejar por sí mismos"?