Parece que todos los que hacen aplicaciones web hoy en día quieren usar MVC para todo. Sin embargo, me resulta difícil convencerme de usar este patrón. Entiendo que la idea general es separar la lógica del backend de la interfaz que representa el programa. En general, parece que las vistas siempre dependen en cierta medida del controlador, lo que termina dependiendo del modelo. No veo qué ventaja me da agregar el controlador. He leído muchas exageraciones sobre "esta es la forma en que deberían diseñarse las aplicaciones", pero tal vez todavía no entiendo qué se supone que debe ir a dónde. Cada vez que hablo con otros sobre MVC parece que todos tienen una idea diferente de qué pertenece en qué categoría.
Entonces, ¿por qué debería usar MVC? ¿Qué gano usando MVC en lugar de separar la interfaz de la lógica de back-end? (La mayoría de las "ventajas" que veo de este patrón se obtienen simplemente separando la interfaz de la implementación, y no explican el propósito de tener un "controlador" separado)