Bonjour,
Ayant déjà utilisé le langage C# pour un projet au cours duquel j'ai essayé de respecter une architecture MVP (Model-View-Presenter), je me pose aujourd'hui une question à propos de la mise en oeuvre d'un modèle MVC dans un projet Qt.
Voici tout d'abord une réponse que j'ai trouvé sur un forum qui expliquerait bien la difficulté à utiliser ce pattern : (lien : http://stackoverflow.com/questions/5...ew-terminology)
Autrement dit, bien que les delegates permettent d'adopter une logique MVC (ou plutôt MVD) pour des composants d'une application, cette logique ne serait pas applicable à l'ensemble de l'application.Qt's MVC only applies to one data structure. When talking about an MVC application you should not think about QAbstractItemModel or QListView.
If you want an MVC architecture for your whole program, Qt hasn't such a "huge" model/view framework.
Par exemple, admettons qu'on ait besoin de connaître dans plusieurs composants un état qui peut être modifié par plusieurs d'entre eux, on passerait alors par exemple en paramètre de chaque constructeur de composant un "stateManager" avec une gestion d'événements (modèle discutable bien sûr).
Seulement, ce stateManager serait plutôt une part du modèle et donc ne devrait en aucun cas être connu par les vues directement (en C#, je passais par le presenter de chaque vue..).
Comment s'y prendre donc pour avoir dans son application Qt une logique globale de modèle MVC plutôt qu'une logique "locale" ?
Sinon, j'envisage d'utiliser à nouveau la logique MVP mais cette fois en Qt. Par contre, j'ai l'impression que cela ne se fait pas souvent. Après quelques recherches sur internet, il semblerait qu'utiliser MVP en Qt ne soit pas commun.
Merci![]()
Partager