Dove dovrei mettere il mio metodo

0

Sto scrivendo un programma Java usando il modello di progettazione MVC.

Ho classi Item e Supplier . Nel database sono collegati tramite una tabella item_supplier .

Sto scrivendo un metodo che mi fornirà tutti i fornitori per un articolo specifico (usando itemID):

public ArrayList<Supplier> getItemSuppliers(int itemID)

Anch'io ho uno strato DB e ho DBItem e DBSupplier . Dove dovrebbe andare questo metodo? Lo userò solo (principalmente) sul mio ItemUI , quindi penso a DBItem come al posto giusto.

-

Di solito quando abbiamo lo schema SalesLineItem (Vendite * - 1 SalesLineItem 1 - * Item) abbiamo una classe separata, ma in tal caso, ho bisogno di una mia unica interazione con quella tabella ( item_supplier ) sarà con questo metodo di stampa (e un aggiornamento)?

Fondamentalmente, devo fare una classe di livello del modello ItemSupplier e rispettivamente DBItemSupplier o posso solo avere quei due metodi getItemSuppliers e updateItemSuppliers su DBItem o DBSupplier (e se il quest'ultimo, dove?)

    
posta Nikola 26.05.2013 - 21:52
fonte

1 risposta

3

Mettere questo metodo sulla classe DBItem è probabilmente la cosa giusta da fare. Presumo che la classe DBItem racchiuda tutte le query necessarie per ricevere i dati associati a un elemento, nel qual caso questa è la cosa giusta da fare.

Per quanto riguarda se hai bisogno della tabella di join nella tua relazione molti-a-molti, probabilmente no. Di solito non è necessario rappresentare questa tabella di join nel livello del modello, è sufficiente avere Item.Suppliers e Supplier.Items collezioni sulle classi del modello.

Modifica

Devo sottolineare che c'è una domanda abbastanza semplice da fare, per decidere se includere la tabella di unione sul tuo livello di modello: "questa tabella è un'entità debole o entità ? ". Se si tratta di un'entità debole , non è necessario includere. Ora, qual è un'entità debole? Un'entità debole è una entità che non esisterebbe da sola, cioè si unisce semplicemente ad altre entità insieme. Infatti, anche se avesse altre proprietà della relazione tra queste due altre entità, se non avesse senso avere l'una o l'altra estremità della relazione mancante (o entrambe le mancanze), allora è un'entità debole. Ovviamente, se la tua entità debole avesse proprietà che vuoi mostrare attraverso il tuo modello, potresti decidere di includerla comunque.

    
risposta data 26.05.2013 - 22:04
fonte

Leggi altre domande sui tag