Question

Dans un diagramme de classes, existe-t-il un moyen de spécifier qu'une classe est une classe interne d'une autre classe?

Ou est-ce considéré comme un pur choix d'implémentation?

Était-ce utile?

La solution

Pensez à utiliser une relation d'imbrication (une ligne avec un '+' dans un cercle à l'extrémité parent).

Autres conseils

Etant donné qu'UML n'est pas censé être directement spécifique à la mise en œuvre, j'utiliserais une convention de dénomination, telle que:

OuterClass vs OuterClass::InnerClass

J'imagine que si vous espérez procéder à une ingénierie inverse ou générer du code vers / à partir d'UML, différents outils nous permettraient d'utiliser différentes techniques (si elles le prenaient en charge).

Un test rapide de l'ingénierie inverse utilisant Enterprise Architect (EA v7) confirme qu'ils utilisent la syntaxe InnerClass :: OuterClass ci-dessus lors du traitement de C # avec une classe interne publique.

Pour ce genre de chose, vous disposez de diagrammes distincts illustrant la structure interne ou le traitement d'une classe.

Habituellement, ces diagrammes supplémentaires sont des diagrammes d’activité pour montrer le traitement. Parfois, un par méthode. Vous pouvez également disposer d’un diagramme de séquence interne illustrant les interactions de l’API.

Aucune raison pour laquelle vous ne pouvez pas avoir un diagramme de classes supplémentaire pour montrer la structure interne d'une classe.

Ou vous pouvez afficher la classe interne entièrement incluse dans la classe externe, un rectangle à l'intérieur d'un autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top