Approche MVC avec C ++
J'ai appris le PHP modèle MVC et il est assez cool. a presque fini app et je vois à quel gâchis vous pouvez faire un code sans une bonne conception.
Maintenant peut MCV être appliqué à C++ apps? Où en est le gestionnaire de Plugin/Plugins aller si c'est encore possible?Dans le modèle ou le contrôleur?
Merci!
EDIT:
Je veux dire C++ GUI toolkit comme QT/Wxwidgets/GTK+
Aussi, Merci de m'aider sur la façon de mettre en œuvre en C++. J'ai appris comment le faire en PHP, mais comme vous le savez, les deux langues sont un peu différentes!
EDIT2
http://forums.wxwidgets.org/viewtopic.php?f=1&t=30983
source d'informationauteur Stefano Mtangoo
Vous devez vous connecter pour publier un commentaire.
faire des classes en charge de rendu ne sais rien à propos des détails de l'application. Appeler SomethingView classes pour faire de ce point clair
faire de votre domaine d'objets qui ne savent rien au sujet de la visualisation ou de l'interaction de l'utilisateur. Vous n'avez pas besoin de les appeler Modèle, mais vous pouvez
créer un ensemble de classes en charge de l'exécution du rôle de Contrôleurs: de fil en quelque sorte des dépendances de modèle et de la vue par le biais des classes d'injection de dépendance, si possible. exemple: CppInject. Dans tous les cas, les classes de contrôleur peut connaître à la fois sur le modèle et les classes d'affichage, de sorte que la partie importante est: est-ce tous le couplage entre modèle et de la vue des objets est isolé à l'contrôleurs.
Aussi, cela signifie que tous impératif de style de programmation doit être limité aux classes de contrôleur: modèle et de la vue devrait être déclarative de style. Cela signifie que, ils devraient offrir des services liés à son rôle, mais d'éviter une interaction directe avec d'autres objets comme des effets secondaires
Il n'est pas vrai que vous avez besoin pour mettre en œuvre la communication entre les contrôleurs et les autres composants avec de l'événement-système de style, bien qu'un tel système est certainement utile, mais certainement pas nécessaire
surprise! le ci-dessus s'applique à n'importe quelle langue ou de cadre, à l'exception des cours de langues que d'une certaine façon déjà en vigueur MVC en bas de votre gorge dès le début, j'.e: ruby on rails
MVC est un modèle de conception pas une langue spécifique à construire, Donc oui, vous pouvez l'appliquer à C++ app.
MVC peut et doit être appliquée dans n'importe quelle langue pour que votre Interface Utilisateur est faiblement couplé avec le backend & peut être aussi modifiée avec un minimum d'impact les uns sur les autres.
Le modèle MVC fournit une séparation nette des objets en:
Oui, MVC peut être appliquée en C++. Par exemple, le MFC framework utilise l'architecture Document/Vue qui est essentiellement un MVC.
Un modèle de conception n'est pas une bibliothèque ou d'une classe. C'est un motif. Si vous n'avez pas de générique MVC bibliothèque C++.
Utilisation Les rainettes Cadre. TreeFrog Cadre est d'une haute vitesse et full-stack C++ cadre pour le développement d'applications Web.
MVC est la conception architecturale de modèle (c'est à dire un façon de la création de logiciels) souvent associées à des applications web, mais il est applicable en général à un projet de logiciel dans n'importe quelle langue. Vous avez à faire un peu abstraction de l'effort dans votre projet, et d'identifier le logiciel appartient à chaque partie (c'est à dire une interface graphique est probablement la partie de la Vue, etc.).
Noter que ce type de modèle est principalement destiné à séparé de développementde sorte qu'une partie du projet peut être développé indépendamment des autres. Cela peut être gênant pour une petite application autonome, mais utile et enrichissante sur les plus gros projets.
Personnellement, j'utilise boost des machines d'état pour la logique et de stimuler les signaux de connecter des choses ensemble.
J'ai écrit un petit exemple de ce que vous pouvez analyser ici:
https://github.com/edubois/mvp-player