Connessioni dell'entità dell'architettura software [chiusa]

0

Per scopi didattici voglio creare un'app.

Quindi ho pensato di fare qualcosa di veramente facile da imparare molto sulla programmazione e la modellazione orientata agli oggetti. Dopo un po 'di riflessione mi è venuta l'idea di fare una semplice app di Sport-Ranking. Ho pensato che fosse molto semplice e avrei potuto costruirlo sempre più avanti.

Quindi, per prima cosa, è per questo che ho pensato che fosse facile: tutto ciò che ti serve sono tre Entità. Person , Gender e Race .

Sembrerebbero approssimativamente come:

+--------+     +----------+     +--------+
| Person |     | Race     |     | Gender |
+--------+     +----------+     +--------+
| name   |     | name     |     | name   |
| birth  |     | date     |     +--------+
| e_mail |     | distance |
| gender |     | address  |
+--------+     +----------+

Ovviamente ho sbagliato. Questa parte di razza sanguinosa sta diventando difficile.

Quindi ho cambiato gara in:

+---------+  +------------+  +------------+  +----------+  +----------+  +--------+
| Race    |  | R_Distance |  | R_Category |  | R_Result |  | R_Number |  | R_Time |
+---------+  +------------+  +------------+  +----------+  +----------+  +--------+
| name    |  | distance   |  | category   |  | result   |  | number   |  | time   |
| date    |  +------------+  +------------+  +----------+  +----------+  +--------+
| address |
+---------+

Sono molto incerto se è giusto. Intendo un Race-Time e Race-Number appartiene alla razza e appartiene anche alla Persona. Quindi, come posso collegarli?

Che altro dovrei pensare? Come gestire se una gara ha passaggi intermedi e giri?

Dovrei avere anche un'entità R_Rank ?

    
posta caramba 29.10.2015 - 10:54
fonte

1 risposta

0

Hai bisogno di un oggetto intermedio per quello. Se una persona ha terminato una gara, memorizzerai il risultato di quella gara in un oggetto separato: un PersonRaceResult. Avrebbe un riferimento alla Persona che correva e un riferimento alla Razza che la persona correva, così come le proprietà per il risultato come un Tempo che indica il tempo totale per completare la Razza.

Se hai bisogno di cose come i giri, la tua modella rimane pressappoco la stessa (supponendo che ogni giro sia alla stessa distanza). Gara avrebbe quindi probabilmente una proprietà NumberOfLaps, una PersonaRaceResult che avrebbe i riferimenti a Race and Time ma anche una collezione di PersonRaceResultLapTimes. Questi avrebbero un riferimento al loro PersonRaceResult, così come un LapNumber per indicare quale giro è stato eseguito e un tempo che indica il tempo impiegato per un giro. Per ottenere il tempo del risultato finale, PersonRaceResult eseguirà il loop di tutti i PersonRaceResultLapTimes, aggiungerà tutte le proprietà del tempo e lo restituirà.

    
risposta data 29.10.2015 - 13:38
fonte

Leggi altre domande sui tag