Un diagramma di classe UML può mostrare due relazioni diverse tra due classi?

1

Ho una classe che ha una classe interna (annidata). Ho mostrato questa relazione tra le due classi nel mio diagramma di classe. Tuttavia, sto anche usando la classe interna all'interno della classe esterna ... mostro un'altra relazione per questo o la relazione di contenimento è sufficiente?

    
posta Shahzad 05.05.2015 - 17:45
fonte

2 risposte

2

Direi di no. Non devi specificare un'altra relazione.

Le classi interne AFAIK sono implicite per essere usate dal loro contenitore. Ecco perché sono una classe interiore. Nessun altro ha bisogno di sapere di questa classe e nessuno ne ha bisogno. Questa classe interna è separata dal suo oggetto contenente perché è diversa dall'oggetto contenitore, tuttavia il contenitore ha un'esigenza esplicita per questa classe e solo questo oggetto ha questa necessità. Pertanto, specificare una relazione tra la classe contenente e la classe interna è sufficiente per implicare implicitamente che queste due classi stiano comunicando tra loro.

Se la classe del contenitore e la classe interna NON STAVANO comunicare l'uno con l'altro o peggio ancora, un altro oggetto stava chiamando direttamente alla classe interiore mostrerebbe un chiaro difetto di progettazione di avere mai questa classe come classe interiore perché il suo scopo progettuale di essere una classe interiore non veniva correttamente adempiuto.

Se volessi approfondire il tuo progetto, ad un certo punto dovresti specificare in che modo la classe contenente sta usando la classe interna e non solo specificare che il contenitore stia usando questa classe interna.

    
risposta data 08.05.2015 - 22:18
fonte
-2

Da La Guida dell'utente al linguaggio di modellazione unificata (Booch, Rumbaugh, Jacobson) association è "una relazione strutturale che descrive un insieme di collegamenti, in cui un collegamento è un connessione tra oggetti ".

Aggregation è "una speciale forma di associazione che specifica una relazione di intera parte tra l'aggregato (il tutto) e un componente (la parte)."

Infine, usage è "una dipendenza in cui un elemento (il client) richiede la presenza di altri elementi (il fornitore) per il suo corretto funzionamento o implementazione".

Dato questo, l'aggregazione implica l'utilizzo, quindi non è necessario descriverlo separatamente per una relazione di classe interiore.

    
risposta data 08.05.2015 - 23:39
fonte

Leggi altre domande sui tag