Questa domanda potrebbe sembrare strana, ma è qualcosa che ho affrontato a volte. Ho cercato di adottare DDD, tuttavia sono sempre di fronte al problema dei modelli di dominio anemici. Il problema è che quando inizio a pensare a quali dovrebbero essere i comportamenti degli oggetti del dominio, non mi viene in mente nulla. Ho iniziato quindi a cercare su Internet cosa dovrebbe essere inserito nel comportamento degli oggetti del dominio e molte persone dicono che sono regole e convalide.
Il problema è che ho affrontato la situazione molte volte dove il cliente che vuole il sistema non vuole alcuna convalida. Una volta ho chiesto a un cliente: "quali sono le proprietà richieste per questo oggetto?" e ha detto "no, non voglio nulla di simile, a volte voglio solo mettere una proprietà e lasciare gli altri perché sono senza tempo".
Quindi ho chiesto: "e quale potrebbe essere il formato dei dati per questa proprietà?" e ha detto "Non voglio niente controllato, voglio essere libero di mettere come mi piace". Quindi la cliente non ha voluto la convalida , quindi non potrei implementarla.
In tal caso, non ci sono convalide, non ci sono regole in vigore. Poi ho esaminato i controller (è stato creato con MVC) per verificare se esistesse una logica specifica per le entità di dominio e non ce n'erano. Solo logica per leggere e scrivere dati. Quindi, in casi come quello, è un problema avere modelli di dominio anemici?
Inoltre, sto lavorando con .NET. In .NET possiamo mettere la convalida con le annotazioni di dati, e possiamo scrivere getter come proprietà. Pertanto, i metodi per eseguire la convalida quando si impostano i dati non sono obbligatori, poiché le Annotazioni dei dati eseguono il lavoro, anche i metodi per calcolare i dati non sono necessari, poiché le proprietà con un solo ottenimento speciale possono eseguire il lavoro. Quindi quali sono i comportamenti dopo tutto?