La línea entre el controlador y el modelo es bastante clara.
El modelo es el corazón de su aplicación. Contiene la lógica de negocios/dominio requerida para resolver el problema para el que se escribió su aplicación. El Modelo generalmente está en capas en varias otras capas, p. persistencia, servicios, dominio, etc. Es un concepto erróneo común que el Modelo es solo la base de datos, tanto como una idea errónea común de que la base de datos debe ser un ActiveRecord.
El controlador (y la vista) son parte de la capa de presentación. La única responsabilidad de un controlador es recibir y manejar las entradas del usuario dirigidas a su aplicación y delegar esto a las partes apropiadas en el modelo. Nada mas. No debería manejar el flujo de aplicaciones complejas o el código de su dominio problemático. You want controllers to be skinny and models fat with logic. El modelo no debe saber acerca de C o V y usted debería ser capaz de intercambiar V y C para una capa de presentación diferente sin tener que tocar el M.
Ver MVC Excerpt in Patterns of Enterprise Application Architecture
posible DUP? http://stackoverflow.com/questions/467113/fat-models-skinny-controllers-and-the-mvc-design-pattern –