Lo primero que debe establecer es qué debe hacer exactamente, para decidir si un marco y / o MVC (u otro patrón de diseño) sería beneficioso.
Los marcos están ahí para proporcionar una plataforma consistente para el desarrollo, mientras que generalmente brindan soluciones a los requisitos de programación comunes (como la interacción de la base de datos, la creación y validación de formularios, la autenticación de usuarios, etc.)
Para PHP, al menos, la MVC / HMVC el patrón de diseño tiende a dominar los marcos generales disponibles (por ejemplo, Zend , CakePHP , CodeIgniter etc.) pero hay muchos patrones de diseño diferentes que se podrían usar.
MVC es tan popular porque ofrece una forma establecida y entendida de separar la lógica de procesamiento y modelado de datos de la capa de vista / presentación (algo que se considera deseable para producir aplicaciones robustas y escalables).
Es importante tener en cuenta (y como lo expresó @Marjan Venema en un comentario a la respuesta de @ElYusubov) que MVC, MVP, MVVM y los otros patrones de MV x son (en principio al menos) todos los mismos 'patrones de diseño'.
Todos los patrones de diseño típicamente diferentes sirven (a menudo sutilmente) propósitos diferentes y en varios casos se desarrollaron con un lenguaje específico en mente. Sin embargo, un verdadero 'patrón de diseño' no es una regla dura y rápida para la programación y en realidad es más una comprensión filosófica / idealógica de la implementación de un programa y los requisitos de diseño y funciones lógicas.
La investigación es la mejor manera de conocer diferentes principios de programación y mejores prácticas, aquí hay algunos enlaces de Wikipedia para comenzar:
En la práctica, no hay nada que le impida implementar su propio 'patrón', OMI, la mejor manera es aprender haciendo, al menos para mí no entendí completamente el patrón MVC hasta que empecé a tratar de escribir un sitio web usando it.
Una vez que entienda algunos de los conceptos de programación y las mejores prácticas, puede usarlos para construir su propio sistema para resolver los problemas específicos que enfrenta y para satisfacer sus necesidades, ya sea que se ajuste a un "patrón" establecido o no.
Si no tiene un conjunto específico de problemas que resolver, entonces aprender uno de los marcos comunes es su mejor opción.