Réserver une Démo
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)
Ce type de spécialisation permet, par exemple, à une opération C# stéréotypée comme « propriété » d'avoir un gabarit de corps d'opération différent d'une opération ordinaire ; le gabarit de corps d'opération peut alors être davantage spécialisé, en fonction du stéréotype de classe.

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.

Apprenez Plus