Pré. | Proc. |
Base Gabarits
Le framework Code Gabarit se compose d'un certain nombre de gabarits de base. Chaque gabarit de base transforme des aspects particuliers de l' UML en parties correspondantes de langages orientés objet.
Les gabarits de base forment une hiérarchie, qui varie légèrement selon les différents langages de programmation. Dans une hiérarchie gabarit typique propre à un langage tel que C# ou Java (qui n'ont pas de fichiers d'en-tête), les gabarits peuvent être modélisés comme des classes, mais sont généralement simplement du texte brut. Cette hiérarchie serait légèrement plus compliquée pour des langages tels que C++ et Delphi, qui ont gabarits d'implémentation distincts.
Chacun des gabarits de base doit être spécialisé pour être utile dans l'ingénierie de code ; en particulier, chaque gabarit est spécialisé pour les langages pris en charge (ou « produits »). Par exemple, il existe un gabarit ClassBody défini pour C++, un autre pour C# , un autre pour Java, et ainsi de suite ; en spécialisant les gabarits , vous pouvez adapter le code généré pour l'entité UML correspondante.
Une fois les gabarits de base spécialisés pour une langue donnée, ils peuvent être encore plus spécialisés en fonction de :
- Un stéréotype de classe, ou
- Un stéréotype de fonctionnalité (où la fonctionnalité peut être une opération ou un attribut)
gabarits de base utilisés dans le CTF
Gabarit |
Description |
---|---|
Attribut |
Un gabarit de niveau supérieur pour générer des variables membres à partir d'attributs UML . |
Déclaration d'attribut |
Utilisé par l'attribut gabarit pour générer une déclaration de variable membre. |
Notes sur les attributs |
Utilisé par l'attribut gabarit pour générer notes de variables membres. |
Classe |
Un gabarit de niveau supérieur pour générer des classes à partir de classes UML . |
Base de classe |
Utilisé par le gabarit de classe pour générer un nom de classe de base dans la liste d'héritage d'une classe dérivée, où la classe de base n'existe pas dans le modèle. |
Corps de la classe |
Utilisé par la classe gabarit pour générer le corps d'une classe. |
Déclaration de classe |
Utilisé par le gabarit de classe pour générer la déclaration d'une classe. |
Interface de classe |
Utilisé par le gabarit de classe pour générer un nom d'interface dans la liste d'héritage d'une classe dérivée, où l'interface n'existe pas dans le modèle. |
Notes de cours |
Utilisé par le gabarit de classe pour générer les notes de classe. |
Déposer |
Un gabarit de niveau supérieur pour générer le fichier source. Pour les langages tels que C++, cela correspond au fichier d'en-tête. |
Section d'importation |
Utilisé dans le gabarit du fichier pour générer des dépendances externes. |
Attribut lié |
Un gabarit de niveau supérieur pour générer des attributs dérivés d'associations UML . |
Notes sur les attributs liés |
Utilisé par le gabarit d'attribut lié pour générer les notes d'attribut. |
Déclaration d'attribut lié |
Utilisé par le gabarit d'attribut lié pour générer la déclaration d'attribut. |
Base de classe liée |
Utilisé par le gabarit de classe pour générer un nom de classe de base dans la liste d'héritage d'une classe dérivée, pour un élément de classe dans le modèle qui est un parent de la classe actuelle. |
Interface de classe liée |
Utilisé par le gabarit de classe pour générer un nom d'interface dans la liste d'héritage d'une classe dérivée, pour un élément d'interface dans le modèle qui est un parent de la classe actuelle. |
Namespace |
Un gabarit de niveau supérieur pour générer des espaces de noms à partir de Paquetages UML (bien que tous les langages n'aient pas d'espaces de noms, ce gabarit peut être utilisé pour générer une construction équivalente, comme Paquetages en Java). |
Corps Namespace |
Utilisé par le gabarit Namespace pour générer le corps d'un espace de noms. |
Déclaration Namespace |
Utilisé par le gabarit Namespace pour générer la déclaration d'espace de noms. |
Opération |
Un gabarit de niveau supérieur pour générer des opérations à partir des opérations d'une classe UML . |
Opération Corps |
Utilisé par le gabarit d'opération pour générer le corps d'une opération UML . |
Déclaration d'opération |
Utilisé par le gabarit d'opération pour générer la déclaration d'opération. |
Notes d'opération |
Utilisé par le gabarit d'opération pour générer la documentation d'une opération. |
Paramètre |
Utilisé par le gabarit de déclaration d'opération pour générer des paramètres. |
Gabarits pour générer du code pour les langages avec des sections d'interface et d'implémentation séparées
Gabarit |
Description |
---|---|
Implémentation de classe |
Un gabarit de niveau supérieur pour générer l'implémentation d'une classe. |
Corps de classe Impl |
Utilisé par le gabarit de classe Impl pour générer l'implémentation des membres de la classe. |
Fichier Imp |
Un gabarit de niveau supérieur pour générer le fichier d'implémentation. |
Notes de fichier Impl |
Utilisé par le gabarit File Impl pour générer notes dans le fichier source. |
Section d'importation Imp |
Utilisé par le gabarit File Impl pour générer des dépendances externes. |
Opération Impl |
Un gabarit de niveau supérieur pour générer des opérations à partir des opérations d'une classe UML . |
Opération Body Impl |
Utilisé par le gabarit d'opération pour générer le corps d'une opération UML . |
Déclaration d'opération Impl |
Utilisé par le gabarit d'opération pour générer la déclaration d'opération. |
Notes d'opération Impl |
Utilisé par le gabarit d'opération pour générer la documentation d'une opération. |