2017-06-14 1 views
1

Je suis certes un débutant d'Enterprise Architect. Je souhaite modéliser une fonction de modèle, mais je n'ai trouvé aucune ressource expliquant comment procéder. Le plus proche est un autre sujet ici sur Stack Overflow qui n'a pas de réponses dans plus de 2 ans: UML template function modelling in enterprise architectFonction de modèle de modèle dans Enterprise Architect

Mon objectif est de mettre en œuvre une classe qui peut gérer des données de tout type mais n'a pas lui-même besoin de connaître les détails du type. Les grandes lignes d'une telle classe ressemblerait à quelque chose comme ce qui suit:

class Foo { 
    public: 
    Foo(); 
    ~Foo(); 

    template<typename T> 
    bool SendData(T const& data); 

    private: 
    int attribute1; 
    char attribute2; 
} 

Je ne veux pas faire une classe de modèle comme une ou deux opérations ont réellement besoin (ou devrait) être générique. Je sais que je pourrais ajouter un stéréotype personnalisé et modifier les modèles de génération de code, mais je ne sais pas comment le faire "dans le bon sens". Le mieux que je puisse envisager est d'appliquer un stéréotype personnalisé à une opération qui ajoute TOUJOURS template <typename T> verbatim à une méthode et qui n'a pas de place pour la flexibilité.

Est-ce que quelqu'un connaît le "bon" moyen d'y parvenir dans Enterprise Architect?

+0

c'est une ingénierie avancée, n'est-ce pas? Quelle est la façon de représenter cela? – Mart10

Répondre

2

Les fonctions de modèle n'étant pas supportées par UML, je doute que Enterprise Architect le fasse.

Here's a similar answer

Which itself is referring to this

Mais bref, gardez à l'esprit que UML est un langage de conception, et non pas un langage de programmation, de sorte que vous ne pouvez pas attendre d'avoir une réponse à toutes sémantique de chaque langage de programmation

+0

Bonne information. En plus d'être nouveau pour EA, je suis relativement novice en matière de modélisation. Garder à l'esprit que UML ne peut pas représenter tous les détails de la mise en œuvre est certainement un bon conseil. Merci! – CodingHero