2009-10-12 7 views
0

La situation: MainForm (affecté au MainPresenter) est opérationnel. L'utilisateur clique sur un bouton ShowFoo - un événement est passé au MainPresenter qui à son tour crée un nouveau FooPresenter et FooView. Comment dois-je procéder maintenant? Où le présentateur doit-il être créé et où devrait-on créer la vue et, surtout, où la propriété MDIParent doit-elle être définie? (si gros je pense que cela devrait être fait dans la vue principaleComment travailleriez-vous avec "MDI-ness" dans une application qui veut utiliser le modèle MVP?

Notes: J'utilise un framework de dépendances, bien que ce soit sans rapport avec le problème, idéalement j'aimerais que le IView soit indépendant de la classe Form

Répondre

1

La façon dont je le manipulerais a une fonction hors de l'interface MainPresenter qui me permet de créer un FooPresenter (ainsi qu'un Foo2Presenter, etc.) Le MainPresenter a toutes les informations à l'intérieur pour configurer correctement un enfant Il est donc possible d'avoir une classe AppPresenters qui a le MainPresenter et le FooPresenter en tant que propriétés ou fonctio

ns. Ici, les AppPresenters tiennent les classes de présentateur et assument la responsabilité de lier les formulaires ensemble pour avoir une application MDI appropriée. L'implication de cette approche est le fait que l'application est une forme maître/parent avec un tas de formes enfant ne se reflète pas dans la conception de vos interfaces.

Les différences entre les deux approches sont minimes à mon avis. Les deux pourraient être adaptés à un style différent de l'interface utilisateur facilement. Alors, qui a le plus de sens pour vous et votre application.

Questions connexes