Consigli sulla modellazione di domini
-
05-07-2019 - |
Domanda
Novità di DDD qui e domande sull'architettura che dovrebbero rappresentare un problema tipico.
Ho un'entità StockItem e un'entità Store. Assegno un oggetto StockItem a più negozi e imposto ParLevels diversi per ciascun negozio. Devo quindi disporre di transazioni (vendita, acquisto, trasferimento, ecc.) Che adeguino la quantità disponibile nei vari negozi.
Qual è il modo preferito per modellare questa soluzione? Nel mio DB avrei la seguente struttura di tabella semplificata: [StockItem] StockItemID pk, Nome
[Store] StoreID pk, Nome
[Store_StockItem] StoreStockItemID pk, StoreID fk, StockItemID fk, ParlLevel, QuantityOnHand
[StockItemTransaction] StockItemTransactionID pk, StockItemStoreID fk, StockItemTransactionTypeID fk, Quantità
Qualche consiglio molto apprezzato
Soluzione
Non credo che nessuno qui possa davvero darti la risposta che desideri, perché il punto centrale di Domain Driven Design è che il tuo dominio aziendale specifico dovrebbe guidare il modello a oggetti.
L'unico consiglio che vorrei offrire è che non dovresti preoccuparti di come il database modella queste relazioni quando si lavora sul dominio. È necessario normalizzare il database in base alle regole di normalizzazione e creare il modello di dominio in base al dominio aziendale effettivo.
Ricorda che il modello di dati e il modello di dominio non si mappano l'un l'altro in un modo 1: 1.