Costruttori o setter per le classi di entità? [duplicare]

0

So che è stato chiesto un sacco di volte ma stiamo parlando di classi di entità qui. Semplici oggetti muti che contengono solo primitivi per le proprietà. Lo scopo qui è quello di memorizzare i dati. La nostra entità può essere creata in una varietà di modi, non sappiamo mai quale insieme di proprietà avrà un valore, è dato dalla vita reale. Ora qualcuno dice che il modo giusto per farlo è usare solo i costruttori, elencando tutte le possibilità di proprietà che hanno un valore o meno. Immagino che renderebbe il numero di costruttori n! se abbiamo n proprietà. Questo ovviamente non è nemmeno possibile in ogni caso, perché può esserci un solo costruttore con lo stesso numero e lo stesso tipo di parametri. Dico che non c'è niente di sbagliato nei setter, in questo modo si imposta tutto ciò che si ottiene, è più leggibile ed economico.

    
posta stevie 20.07.2017 - 10:52
fonte

1 risposta

1

C'è una ragione per cui puoi rendere i tuoi oggetti mutabili? Altrimenti, hai per usare un costruttore.

Quando si tratta di un certo numero di costruttori:

  • Invece di sovraccaricare, usa gli argomenti opzionali se la tua lingua li ordina. Questo riduce il numero di costruttori a uno nel tuo caso.

  • Controlla perché così tante proprietà sono opzionali. È raro avere molte proprietà opzionali, quindi potrebbe essere che ci sia un fraintendimento del dominio aziendale o un problema con lo schema dei dati.

  • Se hai troppe proprietà (opzionali o meno), devi dividere le tue classi raggruppando le proprietà che rappresentano un oggetto separato all'interno della tua entità originale. Ad esempio, Order non deve avere le proprietà come la città o il codice postale dell'indirizzo di spedizione: invece dovrebbe avere un solo campo che punta all'oggetto di tipo Address .

risposta data 20.07.2017 - 11:02
fonte

Leggi altre domande sui tag