Ho la seguente struttura di progetto (semplificata):
- dominio
- dto
- Visualizza
Viene mantenuto il modello domain
. Le classi dto
vengono utilizzate per passare i dati da domain
a view
. E in view
ho un controller e una manciata di * req, * res classi per passare i dati via HTTP. Quindi ci sono 3 classi (in modello, dto e vista) per esprimere la stessa cosa.
Il problema è che ho avuto un SalesEntry
e PurchaseEntry
nel modello. Entrambe le classi erano esattamente identiche, quindi avevo due entità ma solo un EntryDto
insieme a EntryReq
e EntryRes
. Tutto bene. Ora, ho scoperto che ho bisogno di aggiungere alcuni campi, ma solo a PurchaseEntry
. Così ho aggiunto un po 'di astrazione e raddoppiato le classi in ogni livello . Questo è stato un grosso costo. Dove ho sbagliato e come dovrebbe essere fatto correttamente?
In lingue diverse da java probabilmente passerei alcune mappe qua e là, ma in java in particolare ho bisogno di avere una classe concreta in ogni livello. Come semplificarlo?