2012-04-19 19 views
5

Ho alcune classi private interne e non sono sicuro dove metterle nei miei diagrammi di classe. Dovrebbero essere nelle loro classi esterne o da soli?Classi private e uml

risposta

1

UML è per la progettazione o la descrizione di architetture complesse. Non penso che una classe interiore sia così importante menzionarla in un diagramma di classe UML. Se si progetta il tuo sistema a livello di interfaccia, la tua implementazione e quindi la classe privata è fuori fuoco, così come tutti i metodi privati. I tuoi diagrammi dovrebbero contenere solo metodi pubblici = metodi di interfaccia.

2

È possibile rappresentarli esternamente con un containment con un segno + sul lato della classe esterna. Lo puoi trovare here.

0

Non penso che si possa avere una classe in un'altra classe in un diagramma di classe UML. Il modo in cui li presenti in UML dovrebbe riflettere la loro relazione strutturale con le classi genitore. Se vengono creati all'interno solo per comodità, puoi semplicemente collegarli. Se hanno relazioni di contenimento o di aggregazione, UML ha la sintassi appropriata. In ogni caso, le classi interne sono specifiche della lingua e quindi sarebbe strano (e in effetti un disegno errato) che UML abbia un supporto esplicito per loro.

potenzialmente correlati discussione esterna: http://www.coderanch.com/t/99318/patterns/Inner-Class-UML

2

C'è sempre una differenza tra il linguaggio UML e qualunque strumento di modellazione che si sta utilizzando, in modo che è il modo migliore per raggiungere qualcosa dipende dalla strumento.

In UML, le classi hanno visibilità/ambito, proprio come fanno i membri della classe. In altre parole, UML consente classi private, ma ciò non significa che il tuo strumento possa mostrare la "privateness" della classe.

UML consente inoltre alle classi di contenere altre classi. In altre parole, le classi possono fungere da pacchetti. Ancora, come lo strumento visualizza questo varia.

Da una prospettiva UML pura, consiglierei di avere la classe interna contenuta all'interno della private e contrassegnata come privata.

In un diagramma, se il tuo strumento non mostra lo spazio dei nomi, puoi ridimensionare la classe esterna e posizionare l'interno al suo interno. Se il tuo strumento ti permette di ridimensionare, cioè.

Infine, a meno che non si abbiano solo otto o dieci classi in totale, raccomanderei di mostrare le classi interne in un diagramma separato.