Pergunta

Em um diagrama de classe, há uma maneira de especificar que uma classe é uma classe interna de outra classe?

Ou é considerado como uma escolha de implementação pura?

Foi útil?

Solução

Considere o uso de uma relação de sobreposição (a linha com um '+' num círculo no final pai).

Outras dicas

Desde UML não é suposto ser diretamente específica de implementação, eu usaria uma convenção de nomenclatura, tais como:

OuterClass vs OuterClass::InnerClass

Eu imagino se você está esperando para fazer engenharia reversa ou código-geração de / para UML que diferentes ferramentas que nos diferentes técnicas (se eles apoiá-lo em tudo).

Um teste rápido de alguns engenharia reversa utilizando Enterprise Architect (EA v7) confirma que eles usam a sintaxe InnerClass::OuterClass acima, quando o processamento de alguns C # com uma classe interna pública.

Para este tipo de coisa que você tem diagramas separados mostrando a estrutura interna ou a transformação de uma classe.

Normalmente, esses diagramas extras são diagramas de atividades para mostrar o processamento. Às vezes, uma por método. Você também pode ter um diagrama de sequência interna mostrando as interações da API.

Não há razão que você não pode ter um diagrama de classe adicional para mostrar a estrutura interna de uma classe.

Ou você pode mostrar a classe interna totalmente fechado pela classe externa, um retângulo dentro de outro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top