2009-12-15 15 views

risposta

4

suo perché un ordine "ha un" riferimento ad un cliente.

In un database, questa sarebbe una chiave esterna nella tabella degli ordini, che memorizza l'id cliente.

Nel codice, si memorizzerebbe un riferimento all'oggetto cliente associato in un oggetto ordine. Quindi l'ordine punta al cliente e non viceversa.

+0

Perché non dovremmo decidere che 'cliente' ha molti' order's e aggiungi il riferimento di raccolta dell'ordine al cliente? –

0

Forse perché un ordine è associato a un cliente? Questo tipo di cose può essere visto come funzionante in entrambi i casi, o talvolta entrambi.

+1

So che sono associati tra loro. La domanda non è perché c'è una freccia, riguarda la direzione della freccia. – neuromancer

+0

Non sono associati tra loro: un ordine è associato a un cliente. –

6

Le frecce descrivono le modalità di navigazione. Quindi in questo diagramma puoi passare dall'ordine al cliente. E per l'altro modo: nessuna freccia significa NON "non navigabile", ma "nessun commento". Non esiste un modo ben definito per farlo.

-2

È una dipendenza , che è uno speciale tipo di associazione debole. Significa che per un ordine esistere, deve esistere un cliente in un determinato momento. Potrebbe esserci qualche punto nel ciclo di vita di "ordine" in cui questo requisito non viene applicato.

+0

Questa non è una dipendenza. Una dipendenza non è un tipo speciale di associazione, è un tipo speciale di relazione (allo stesso modo dell'associazione è un altro tipo di relazione) Le associazioni –

0

L'associazione ha una proprietà di navigabilità booleana in UML. In questo caso, la navigabilità nell'ordine di direzione al cliente è impostata su true mentre la navigazione nella direzione cliente da ordinare è impostata su false.

Con questo, il progettista del modello esprime gli ordini ora che è il cliente associato all'ordine ma i clienti non hanno accesso diretto ai loro ordini.

Se consideriamo il codice Java per questo modello, la navigabilità è più facile da capire. Per questo esempio, questo navigabilità significa che Ordine ha un attributo di tipo clienti ma il cliente non ha alcun attributo raccolta per memorizzare il suo/suoi ordini

+0

non corrispondono sempre agli attributi UML e sicuramente non corrispondono agli attributi sulle classi Java (non c'è nulla di simile in Java, quindi usare 'attributo' in un contesto Java potrebbe significare campo o proprietà o proprietà bean). –

8

Questo potrebbe aiutare:

diagrammi di classe UML: Linee guida: http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx

proprietà di un'associazione

è navigabile : Se è vero per un solo ruolo, viene visualizzata una freccia nella direzione navigabile. L'associazione può essere letta in questa direzione. È possibile utilizzare questo per indicare la navigabilità dei collegamenti e le relazioni del database nel software.

proprietà di associazioni in diagrammi di classe UML: http://msdn.microsoft.com/en-us/library/dd323862%28VS.100%29.aspx

alt text http://i.msdn.microsoft.com/Dd323862.UML_ClassProp(en-us,VS.100).png

Se uno ruolo è navigabile e l'altro non è, appare una freccia (7) sulla associazione nel navigabile direzione.

6

Le frecce descrivono la navigabilità.

  • fine navigabile è indicata da una freccia aperta sulla estremità di un'associazione
  • Non navigabile estremità è indicato con una piccola x sull'estremità di un'associazione
  • n ornamento sull'estremità di mezzi di associazione navigabilità non specificato

UML Arrow association direction

Tratto da: http://www.uml-diagrams.org/association.html

Problemi correlati