2016-05-02 2 views
2

Je parle de préoccupation/module/extensions telles qu'elles existent dans Ruby et Swift par exemple. Un module Ruby est quelque chose qu'une classe peut inclure (= ajouter les fonctions du module comme ses propres méthodes d'instance) ou étendre (ajouter les fonctions du module comme ses propres méthodes de classe).UML comment représenter une classe concern/module/extension

Une extension rapide est également un module complémentaire pour la classe, généralement lorsque vous souhaitez ajouter une fonctionnalité, vous devez d'abord définir le prototype, puis l'implémenter dans une extension.

(s'il vous plaît me corriger si je me trompe)

Comment décririez-vous représenter un tel module/extension de Swift Ruby en UML, et son lien avec la classe, il est inclus dans/elle étend?

+0

Je conçois avec Visual Paradigm, il y a une liste de "stéréotypes" qui pourraient peut-être tenir: 'auxiliary',' agent', 'capability',' delegate', ...? –

Répondre

4

Je ne sais pas aussi une norme pour cela, mais serait-il modèle comme celui-ci:

enter image description here

Une relation Realize avec un stéréotype <<import>>. Peut-être le Realize est trop fort dans le contexte et un Dependency simple mais toujours avec ce stéréotype serait mieux.

Tout n'est pas disponible de manière native dans UML. Mais comme dans n'importe quelle langue, si vous n'avez pas un seul mot pour une chose, vous pouvez faire des constructions qui décrivent la chose. Vous êtes plutôt libre de choisir votre vocabulaire. Seulement vous devriez être cohérent dans le domaine où vous utilisez une telle paraphrase.