J'ai des questions lors de la conception d'une architecture pour un projet autour de MVC. (C'est un projet SDK C ++ / Marmalade, je n'utilise pas de framework MVC particulier, j'en fais un.)
Sur plusieurs articles (comme sur l'article original de Steve Burbek ), je continue de lire le concept "MVC triad" qui m'embourbe depuis que j'ai pris ce concept assez littéralement. Quand je l'ai lu la première fois, une application était construite autour d'unités "MVC triad" - une pour chaque pièce d'interface utilisateur que je supposais -, mais je trouve cela plutôt peu flexible et je pense que ce n'est pas ainsi que MVC devait être utilisé. Ensuite, en recherchant plus loin le problème, j'ai trouvé plusieurs exemples de couplage étroit du contrôleur et de la vue, à savoir, la relation 1 à 1 - TextEditView a TextEditController.
Mais quand je reviens à mon projet, je trouve qu'il pourrait être utile d'avoir un contrôleur (par «unité logique», comme AddElementController) et plusieurs vues pour ce contrôleur particulier.
Je pense clairement à quelque chose comme un AddElementController qui devrait avoir une sorte d'interface utilisateur d'onglet. Dois-je avoir un AddElementController qui a un AddElementTabView et plusieurs AddImageView, AddSoundView, etc. pour les onglets? Ou devrais-je avoir un «sous-contrôleur» différent pour chaque vue d'onglet?
En somme, et en ce qui concerne le modèle MVC (pas la compréhension / implémentation particulière de ce modèle X), est-il correct d'avoir plusieurs vues pour un contrôleur ou chaque vue devrait-elle avoir son contrôleur particulier?
En outre, est-il correct de conserver certaines informations d'état sur le contrôleur ou doit-il être sans état (ce qui signifie que l'état doit être placé sur un modèle d'état non-domaine)?
Merci à tous d'avance.
la source