Mi comprensión de la aplicación de MVC / MV * sigue el principio de Separación de preocupaciones (SoC): separar el programa / códigos en secciones / piezas distintas para que cada sección pueda abordar una preocupación por separado (Ref: http://en.wikipedia.org / wiki / Separation_of_concerns )
Hay muchas ventajas al separar las preocupaciones: una no afectará a la otra y los desarrolladores podrían trabajar en una unidad sin afectar al resto, etc., etc. MVC no es el único patrón que sigue a SoC, básicamente, la POO en sí misma es Un gran concepto para dividir las cosas en unidades.
MVC / MV * son muy útiles cuando maneja el desarrollo relacionado con la interfaz de usuario, mientras que debajo podría haber más patrones: fábrica, singleton, fachada, etc. algunos casos. Es posible que vea mucho MVC, porque muchos proyectos tienen elementos de interfaz de usuario.
por lo tanto, al hablar de los inconvenientes de MVC, realmente depende de los proyectos que esté haciendo: ¿tiene UI? ¿Requiere gran escalabilidad / extensibilidad? ¿Tiene muchas interacciones entre la interfaz de usuario y el sistema subyacente? por ejemplo, una página web de información simple no requiere MVC en absoluto, a menos que planee extenderla a una gran página interactiva en el futuro.
entonces, para evaluar MVC (o más general - un patrón de diseño), darle un contexto y pensar en la complejidad, escalabilidad, capacidad de prueba, mantenimiento, restricción de tiempo, etc., etc.