Domanda

Sto tentando di modellare un negozio di alimentari. Nel negozio, ci sono diversi "corridoi". Ogni "corridoio". ha un gruppo di "categorie" di "articoli" immagazzina. Ogni "categoria" può appartenere a un solo "corridoio". Ogni "articolo" può avere solo una "categoria".

Il modello di dati mi sembra diretto:

  • Una "navata" " tabella con un ID e DESCRIPTION
  • Una categoria " tabella con un ID, NAME e un AISLE_ID che fa riferimento al "corridoio" " tabella
  • Un " articolo " tabella con ID, NOME, DESCRIZIONE e un CATEGORY_ID che fa riferimento a "categoria"

Il modello a oggetti è dove ho bisogno di aiuto:

  1. Un oggetto Aisle può contenere un elenco di oggetti Categoria e Oggetto.
  2. Un oggetto Aisle può avere un elenco di oggetti Categoria. Un oggetto Categoria può avere un elenco di oggetti Articolo al suo interno.
  3. Un corridoio può avere un elenco di oggetti oggetto. Un oggetto Categoria può avere un elenco di oggetti Item.

In ogni caso, un Articolo avrà logicamente un oggetto Categoria al suo interno. Ho un DAO per ogni oggetto di dominio, quindi a seconda del modo in cui viene fatto, il sql cambia un po '. Qualche pensiero?

È stato utile?

Soluzione

Voto per la scelta n. 2. Ha più senso di # 1 o # 3.

Pensi che le relazioni debbano essere bidirezionali? Un oggetto deve essere in grado di capire chi sono la sua categoria genitore e la navata del nonno?

Altri suggerimenti

Andrei con la scelta # 2.

La principale preoccupazione di una navata è quali categorie sono contenute al suo interno. Dovrebbe spettare alla classe Categoria determinare quali elementi sono membri. Ciò mantiene i livelli di astrazione coerenti in ogni oggetto - dove Navata laterale è l'oggetto di livello superiore, Categoria è un livello leggermente più dettagliato e l'oggetto è il più granulare.

Il numero 2 ha più senso se quelle sono le tue sole 3 opzioni.

Penso che, se dovessi creare questo modello, userei il seguente modello (piccola modifica, cercando solo di rimanere il più vicino possibile alle tue idee):

Un oggetto corridoio può avere un elenco di oggetti categoria, un oggetto categoria può avere un elenco di oggetti oggetto al suo interno, e un oggetto è associato a una categoria E un corridoio.

La mia modifica sembra essere più sul lato dati.

Il motivo per cui l'avrei fatto è perché, qualcuno dice "ehi, sto cercando questo particolare oggetto, in quale corsia si trova?" - 1 ricerca ti darebbe la risposta. mentre con il tuo modello di dati, avrai bisogno di 2 ricerche.

Almeno è così che ci penso.

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