Wikipedia describe la Single Responsibility Principle esta manera:¿El uso tradicional del controlador en MVC conduce a una violación del Principio de Responsabilidad Individual?
La Responsabilidad Individual principio establece que cada objeto debe tener un único responsable, y que la responsabilidad debe ser encapsulada en su totalidad por la clase. Todos sus servicios deben estar estrechamente alineados con esa responsabilidad.
El uso tradicional del controlador en MVC parece llevar a un programador a una violación de este principio. Tome un controlador de libro de visitas simple y vea. El controlador puede tener dos métodos/acciones: 1) Índice() y 2) Enviar(). El índice() muestra el formulario. El Submit() lo procesa. ¿Estos dos métodos representan dos responsabilidades distintas? Si es así, ¿cómo entra la Responsabilidad Individual para jugar?
Acepto, no viola por sí solo el patrón MVC, pero sí lo alienta: ¿dónde va a poner esa nueva acción relacionada con el usuario? Por qué, en el UserController por supuesto. Muy pronto crece fuera de control, lleno de métodos de acción que no tienen dependencia entre sí, pero se agrupan simplemente porque es conveniente. Comencé una discusión [aquí] (https://gist.github.com/mindplay-dk/5505023) para debatir la idea de eliminar los Controladores y agrupar las Acciones en espacios de nombres. –