
Chapter 8 Développement orienté modèle en utilisant PowerAMC et VS2005
Utilisation des genlets
Les genlets sont de petites classes C# qui peuvent être utilisées lors du processus de génération afin d'effectuer des transformations sur les fichiers générés. PowerAMC fournit des modèles pour les genlets à utiliser dans le processus de synchronisation de code.
Les deux principaux types de genlets sont les suivants :
- Transformlets – effectuent une transformation sur un fichier généré. Ils permet de définir des politiques multicible réutilisables à appliquer au code généré. Par exemple, vous pouvez utiliser des transformlets pour ajouter un en-tête et une fin de fichier à chaque fichier ou pour vous assurer que chaque nom de champ statique commence par un trait de soulignement
Il existe 3 types de transformlets :
- Text-based – permet de transformer un fichier de texte
- Xml-based - permet de manipuler des données XML via les classes System.Xml
- Code-model - utilise les analyseurs syntaxiques Visual Studio et l'API CodeModel pour passer en revue et transformer les fichiers source
- Vous pouvez enchaîner plusieurs transformlets pour accomplir les différentes étapes d'une transformation.
- Mergelets – sont à utiliser lorsqu'un fichier donné est régénéré et que le contenu cible peut changer indépendamment du modèle. Cela peut être le cas avec un document XML dans lequel certaines sections sont générées depuis un modèle et d'autres modifiées par un autre système ou dans lequel les squelettes de code standard sont générés et que du code personnalisé est ajouté dans l'éditeur de code.
Dans le cas de code source, les mergelets peuvent être utilisés pour maximiser la lisibilité en préservant l'ordre et la mise en forme sur plusieurs cycles de génération, en comparant et fusionnant des éléments au niveau du code du modèle afin de traiter ce cas de figure.
Bien qu'ils soient très utiles pour les langages n'assurant pas la prise en charge de classe partielle (qui facilite la séparation du code généré et du code utilisateur), les mergelets de type code-model peuvent néanmoins servir pour les langages de programmation VB et C#. Un seul merglet peut être utilisé pour chaque génération, et il doit toujours s'agir du dernier genlet de la chaîne, après tous les transformlets.
Copyright (C) 2006. Sybase Inc. All rights reserved.
|
|