Que devrait faire un contrôleur d'application?
Je suis un peu confus en ce que le contrôleur de l'application doit faire? Parce que je vois la fonctionnalité existe également dans votre modèle MVP de prendre les décisions qui forme doit être indiqué lorsque l'on clique sur un bouton? Existe-il des bons exemples de Formulaires Windows qui utilise le contrôleur de l'application modèle?
Il y a une différence dans le MVC(ontroler) et le Contrôleur de l'Application. Je sais que le MVC(ontroller), je ne suis pas sûr de ce qui est de la responsabilités d'un Contrôleur d'Application, et comment s'inscrit-il dans une application WinForms. Martin Fowler appelle aussi cela, l'Application modèle de Contrôleur, ce n'est sûrement pas la même chose que le MVC(ontroller)?
source d'informationauteur adriaanp
Vous devez vous connecter pour publier un commentaire.
J'ai récemment écrit un article sur la création et l'utilisation d'un ApplicationController en C#, Winforms projet, afin de dissocier les flux de travail et les présentateurs de formes directement. Il peut aider:
Le Découplage De Flux De Travail Et Les Formes Avec Un Contrôleur D'Application
edit:
Archive.org a un plus lisible copie de l'article en ce moment.
Un Contrôleur d'Application est un peu un animal différent que le contrôleur utilisé dans MVC.
Martin Fowler page sur le Contrôleur D'Application.
Dans le cas d'un MVP application WinForms, qui semble être ce que la question le sujet est sur je pense. Vous peut mettre toute la logique de "quel formulaire dois-je montre maintenant" dans le Présentateur, mais en tant que votre demande grandit, vous allez dupliquer beaucoup de code entre les intervenants.
Exemple, vous avez 2 points de vue que les deux ont un bouton "Modifier ce Widget", deux d'entre eux aurait une logique à obtenir un WidgetEditorPresenter et de montrer la vue associée. Si vous avez un ApplicationController, vous vous déplacez de cette logique dans le ApplicationController, et maintenant vous avez simplement une dépendance dans tous vos présentateurs sur ApplicationController et vous pouvez appeler appController.EditWidget() et il fera apparaître la bonne.
Le contrôleur de l'application est un uber-contrôleur qui contrôle le flux d'application tout au long de votre système pendant que vous passez d'un écran à l'écran.
Personnellement, je n'ai aucune expérience avec MVP ou winforms, mais j'ai travaillé avec MVC. J'espère que c'est ce que vous demandez, sinon ignorer ma réponse complètement.
Le C de MVC est responsable pour plus que juste le choix de la prochaine vue d'être présenté au client. Il possède de plus, de préférence tousde logique métier de l'application, y compris l'exécution des tâches du système (comme l'enregistrement et l'exécution des autorisations sur le flux de données à partir du modèle et à lui).
Sa tâche principale est, naturellement, de servir la couche de présentation ci-dessus et de le séparer de la couche du modèle ci-dessous, tandis que la médiation entre eux. Je suppose que vous pouvez le penser comme le cerveau de l'application.
Espère que cette aide,
Yuval =8-)