Domanda

In un diagramma di classe, c'è un modo per specificare che una classe è una classe interna di un'altra classe?

O è considerata una pura scelta di implementazione?

È stato utile?

Soluzione

Prendi in considerazione l'utilizzo di una relazione di nidificazione (una linea con un '+' in un cerchio all'estremità principale).

Altri suggerimenti

Poiché UML non dovrebbe essere direttamente specifico per l'implementazione, utilizzerei una convenzione di denominazione, come:

OuterClass vs OuterClass::InnerClass

Immagino che se speri di decodificare o generare codice in / da UML che strumenti diversi ci utilizzerebbero tecniche diverse (se supportano del tutto).

Un rapido test di alcuni reverse engineering usando Enterprise Architect (EA v7) conferma che usano la sintassi InnerClass :: OuterClass sopra durante l'elaborazione di C # con una classe interna pubblica.

Per questo tipo di cose hai diagrammi separati che mostrano la struttura interna o l'elaborazione di una classe.

di solito, quei diagrammi extra sono diagrammi di attività per mostrare l'elaborazione. A volte uno per metodo. Potresti anche avere un diagramma di sequenza interno che mostra le interazioni dell'API.

Nessun motivo per cui non è possibile avere un diagramma di classe aggiuntivo per mostrare la struttura interna di una classe.

Oppure puoi mostrare la classe interna completamente racchiusa dalla classe esterna, un rettangolo all'interno di un altro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top