Ce sont des outils de haut niveau et qui sont destinés à produire automatiquement une partie de l'application interactive comme un squelette d'application interactive.
Certains générateurs sont eux-même des outils interactifs permettant de construire interactivement la description d'une partie de l'application interactive.
Ils sont composés généralement de 3 parties :
-éditeur intéractif permettant de construire par manipulation directe la présentation de l'interface, de spécifier une partie de ses fonctions de rappels + un mode test,
-compilateur qui traduit la description en un module,
-module d'éxécution (=run-time) qui doit être inclus dans l'application finale.
Il y a 2 façons de produire une application intéractive.
La première a pour avantage le fait que l'on n'est pas obligé de recompiler toute l'application à chaque fois que l'on modifie l'interface mais l'inconvénient est que l'application n'est pas autonome, on doit changer le module d'interface à chaque éxécution. Cette manière est donc adapté à la phase de l'élaboration de l'interface.
La deuxième façon a l'avantage que l'application est autonome et performante et ne dépend pas d'un module à charger à chaque fois,mais si on veut modifier l'interface, on doit refaire l'édition de liens. Elle est donc particulièrement adaptée à la phse finale.
-Création des interfacespar manipulation directe,
-Une partie de l'interface peut-être testée immédiatement,
-Test de l'enchaînement des boîtes de dialogue, l'activation/désactivation des items d'un menu...
Focalisation sur la partie interface.
Outil intéractif regroupant plusieurs fonctionalités :
-un générateur de code (AppWizard),
-un éditeur de texte,
-un compilateur C/C++,
-un éditeur graphique de ressources,
-un compilateur de ressources,
-un éditeur de liens,
-un mainteneur de code de classes (ClassWizard),
-un débogueur,
-un explorateur de sources,
-divers outils et bibliothèques (MFC,...).
Permet de générer automatiquement un squelette d'application ainsi qu'une création rapide du canevas d'application.
Avantages :
-temps de développement réduit,
-structure de code plus standardisée,
-maintenance simplifiée.
On peut utiliser le style d'application: Document (données et traitement de données) / Vue (affichage de données)
Class CAppliDoc {... /*données*/... } Class CAppliVue {... /*visualisation des données*/... }
La passerelle est la fonction CAppliView ii GetDocument()
AppWizard générera dans ce cas 5 classes donc 10 fichiers (1 .cpp et 1.h pour chaque classe)
-CAppliApp : paramètre de l'application
-CMainFrame : fenêtre principale de l'application
-CAppliDoc : données
-CChildFrame : sous-fenêtre pour la vue (pas présente dans toutes les applications)
-CAppliView : vue
+ autres fichiers complémentaires.
Plusieurs types d'applications :
-SDI=Single Document Interface
-MDI=Multiple Document Interface
-BDD=basées sur les boîtes de dialogue
Pour la et la
, il n'y a pas de classe CChildFrame.
C'est une application à base de boîtes de dialogue. Elle permet de générer graphiquement les classes, les variables et les fonctions de ces classes.
On a :
-un agencement du code, des fonctions donc on évite les erreurs de syntaxe,
une gestion automatique des identificateurs donc pas de risque de doublon,
-la rapidité.