en utilisant le modèle MVP dans WinForms est basé sur le présentateur sachant quels contrôles accéder, tel que défini par l'IViewInterface. Par exemple, si vous avez 2 zones de texte et un bouton sur votre formulaire, vous définissez une IViewInterface avec deux propriétés pour la zone de texte et un événement de clic sur un bouton pour transférer l'appel à Presenter et le présentateur peut accéder à ces deux propriétés. Assez simple. Imaginez maintenant si votre interface utilisateur est construite au moment de l'exécution en fonction des tables de votre base de données. Disons que vous avez 500 tables dans votre base de données et que vous voulez concevoir des applications CRUD pour ces 500 tables. permet de dire quelque part dans votre base de données que vous définissez comment vous voulez mettre en page ces 500 tables dans votre interface utilisateur. vous avez un programme qui à l'exécution crée des contrôles d'interface utilisateur pour ces 500 tables. Comment appliquez-vous le modèle MVP dans de tels cas ??Le modèle MVP avec l'interface utilisateur créée dynamiquement
Répondre
Des interfaces utilisateur entièrement dynamiques ont été essayées par de nombreux programmeurs sans beaucoup de succès. Je suis sûr que beaucoup de gens pourraient vous donner les prémisses de base, c'est-à-dire créer des tables, mais au-delà, rien n'a vraiment fonctionné, alors vous feriez mieux de faire votre propre truc.
Si vous pensez que vous avez une approche différente, vous devriez juste l'essayer et voir comment cela fonctionne.
Pour cela, le présentateur ne devrait pas du tout se soucier des contrôles.
La vue peut présenter ces données en tant que propriétés. Si ces 500 tables avec leurs 500 configurations d'interface utilisateur utilisent au moins un contrôle d'affichage standard comme GridView, vous pouvez exposer une propriété de "CurrentTableName" et une de "CurrentRow" pour la ligne active dans GridView. Le présentateur peut les prendre et les transmettre ou les transformer en objets DTO ou DM en une couche d'entreprise ou de service.
Cela peut être possible ou non dans ce cas.
j'avais une notion similaire. Je pensais que mon IView aurait juste une méthode comme ceci Liste
utilisant le modèle MVP dans WinForms est fondée sur le présentateur savoir sur lequel contrôle d'accès comme défini par le IViewInterface
est vrai, mais dans le cas de l'interface graphique dynamique vous n'avez pas besoin d'exposer ces contrôles individuellement comme les propriétés de l'interface. Vous pouvez définir un contrôle générique en tant que classe avec certaines propriétés communes et exposer une liste de ces contrôles en tant que propriété unique de votre interface d'affichage.
Ceci est seulement une façon de le faire - la conception dépend du scénario exact. Mais en général, je dirais que les interfaces graphiques dynamiques sont encore meilleures pour introduire MVP, pas le contraire. Pour tout ce que cela signifie, je reçois un -1 dès que je pose une question.
- 1. Modèle MVP avec tabbedMDI
- 2. Appliquer le modèle MVP à JDialogs
- 3. Modèle Moq avec WinForms MVP - Test d'échec
- 4. Utilisation d'Autofac avec ASP.NET et le modèle MVP
- 5. MVP - Injection de dépendances et le modèle
- 6. Modèle de programmation MVP Taligent pour .Net
- 7. ASP.NET MVP - Utilisation des contrôles utilisateur
- 8. page mobile: image créée dynamiquement chargement sporadique
- 9. MVP vs. Modèle de présentation, lequel est le meilleur?
- 10. moyen privilégié pour mapper le code avec des entrées utilisateur base de données créée
- 11. Peut MVC (ou MVP) coexister avec SOA?
- 12. MVP - Contrôles Utilisateur - Cacher l'interface IView des consommateurs?
- 13. Comment travailleriez-vous avec "MDI-ness" dans une application qui veut utiliser le modèle MVP?
- 14. Comment mapper une table créée dynamiquement dans Hibernate?
- 15. Evénement On Change pour la liste déroulante créée dynamiquement VB.NET
- 16. Chargement des sous-vues avec MVP
- 17. Comment recharger une propriété créée dynamiquement la prochaine fois?
- 18. Enregistrement du code HTML brut d'une page créée dynamiquement
- 19. Authentification CakePHP et le modèle Utilisateur
- 20. ASP.Net: liste déroulante et source de données créée dynamiquement
- 21. Modèle MVP, combien de vues à un présentateur?
- 22. Utilisation du MVP pour un modèle d'objet structuré composite
- 23. Remplissage de la zone de texte créée dynamiquement avec javascript dans IE
- 24. Comment enregistrer un modèle avec ce champ généré dynamiquement?
- 25. Copie d'informations d'un contrôle utilisateur créé dynamiquement vers un autre contrôle utilisateur créé dynamiquement
- 26. Créer dynamiquement un type générique pour le modèle
- 27. Contrôles utilisateur créés dynamiquement en C#
- 28. Existe-t-il une bonne application ASP.NET open source utilisant le modèle MVP
- 29. Appel d'une fonction javascript d'abord, puis événement CheckChanged d'une case à cocher créée dynamiquement
- 30. Construction d'une interface utilisateur avec un modèle Excel
Continuez à venir – codemnky
Je ne donne pas un âne de rats à la réputation, les points gagnés, MVP, peu importe tant que je continue d'apprendre et ratisser dans la pâte – codemnky
Internet est génial. vous n'avez pas besoin de marcher et d'avoir 40 ans d'expérience pour acquérir des connaissances essentielles. il y a une avenue pour gagner ceci dans un ordre court. – codemnky