Avant d'utiliser MVC assurez-vous que vous savez pourquoi vous êtes vous mettre la pensée de la douleur. Avoir des sections de code divisés en groupes logiques est grande, le déplacement de la logique de l'INTERFACE utilisateur est grand, mais les neuf mètres peut être plus d'effort que ça vaut la peine. (à mon humble avis)
L'ajout de la liaison de données pour le mélange va vous amener à la fin de l'hybride dans la plupart des cas. Dans le projet que je suis en train de travailler sur nous avons atteint la même situation que vous et après beaucoup de pourparlers et de la recherche s'est terminé par le suivant.
Modèle
Ce serait vos données comme vous l'avez dit, dans notre cas, c'est notre Domaine d'objets qui contiennent des informations sur le domaine. par exemple. Personne, D'Une Entreprise ...
Ces objets de domaine sont liés aux données pour les formulaires, ce qui peut offrir une communication directe entre votre MODÈLE et votre point de VUE.
Vue
Ce serait votre interface utilisateur ou d'un formulaire windows. Maintenant, puisque vous utilisez la liaison de données, vous serez plus que probablement avoir un BindingSource sur votre forme avec sa source de données pointant vers votre domaine d'objet. Avoir le point de Vue étant directement relié au Modèle d'ores et déjà commencer à briser MVC. Jetez un oeil à l'article de wikipedia sur MVC et de son schéma de la accepté de communication. Mais comme je l'ai dit plus tôt, nous allons nous retrouver avec un hybid de toute façon...
Contrôleur
Le contrôleur va finir par ne pas faire quelque chose proche de ce qu'est un vrai contrôleur est censé faire. Dans l'idéal MVC monde, le contrôleur peut gérer toutes les interactions avec la vue. cliquez sur un bouton: le contrôleur, ce qu'il faut faire et met à jour la vue après l'avoir fait. sélectionnez un élément dans une zone de liste déroulante: le contrôleur, ce qu'il faut faire et met à jour la vue après l'avoir fait. et ainsi de suite...
Pour cette "mise en œuvre", le contrôleur est chargé de fournir tous les méchants de code que nous ne voulons pas encombrer notre INTERFACE utilisateur .cs fichier. Donc, si à tomber vers le bas d'une liste modifiable doit remplir une autre zone de liste déroulante, mettez ce code dans le contrôleur. Si un formulaire est nécessaire pour mener compliqué d'enregistrer routine de mettre ensemble les trois objets et de les enregistrer dans le bon ordre, placez ce code dans le contrôleur.
Qu'est-ce que cela signifie dans la mise en œuvre des termes de
Lorsque vous créez une nouvelle instance d'un formulaire, vous devez faire deux choses.
- Créer une nouvelle instance de la forme du contrôleur et de l'enregistrer sur le formulaire
- Configurer votre domaine objet de la source de liaison pour la forme.
- Transmettre le formulaire pour le contrôleur de sorte que le contrôleur peut communiquer de retour à la forme.
Mais cette question n'est jamais mieux servi avec un exemple, consultez l'exemple de la solution que j'ai jeté ensemble. J'ai choisi de communiquer entre la Forme (point de VUE) et le CONTRÔLEUR directe avec des appels, mais vous pouvez toujours faire usage d'événements (qui je pense est le plus norme acceptée).
Espérons que cela aide..