Tengo algunas preguntas al diseñar una arquitectura para un proyecto en torno a MVC. (Es un proyecto de C ++ / Marmalade SDK, no estoy usando ningún marco MVC en particular, estoy haciendo uno).
En varios artículos (como en el artículo original de Steve Burbek ) sigo leyendo el concepto "tríada MVC" que me aturde desde que tomé este concepto literalmente. Cuando lo leí por primera vez, parecía que una aplicación se basaba en unidades de "tríada MVC", una para cada pieza de la interfaz de usuario que supuse, pero encuentro que esto es poco flexible y creo que no es así como MVC estaba destinado a ser utilizado. Luego, investigando más sobre el tema, encontré varios ejemplos de acoplamiento estrecho del controlador y la vista, a saber, relación 1 a 1: TextEditView tiene TextEditController.
Pero cuando vuelvo a mi proyecto, encuentro que podría ser útil tener un controlador (por 'unidad lógica', como AddElementController) y varias vistas para ese controlador en particular.
Claramente estoy pensando en algo como un AddElementController que debería tener algún tipo de pestaña UI. ¿Debo tener un AddElementController que tenga un AddElementTabView y varios AddImageView, AddSoundView, etc. para las pestañas? ¿O debería tener un 'subcontrolador' diferente para cada vista de pestaña?
En resumen, y en relación con el patrón MVC (no la comprensión / implementación particular del marco X de este patrón), ¿es correcto tener varias vistas para un controlador o cada vista debe tener su controlador particular?
Además, ¿es correcto mantener cierta información de estado en el controlador o debe ser sin estado (lo que significa que el estado debe colocarse en algún modelo de estado que no sea de dominio)?
Gracias a todos de antemano.
fuente