Un modello di dominio ricco (vs Anemic) riduce il codice duplicato?

2

Stavo guardando un relatore di conferenza / conferenza che parlava della riduzione del codice ridondante, quando si passava dal servizio al modello in un modello Anemic rispetto al modello Rich. Ma a prescindere da ciò che uso, mi ritrovo con la stessa logica nelle mie classi in entrambi i casi.

Che io abbia:

ServiceX.AddName("Johnny");

o

Customer.AddName("Johnny");

Ho ancora qualche operazione di database che userò inevitabilmente da qualche altra parte che esegue un SELECT o INSERT vicino allo stesso codice, Anemic o Rich, in un servizio o nella normale vecchia classe OOP con un comportamento. Ho una classe extra per l'astrazione del servizio, ma a parte questo ho lo stesso codice.

Ho letto i pro e i contro e tutto il resto. Non sto discutendo in un modo o nell'altro. Ho fatto entrambe le cose. Dirò che il "Rich" assomiglia ai libri di testo e OOP, ma sto divagando.

Un modello di dominio ricco (vs Anemic) riduce il codice duplicato?

Modifica: rimossi i riferimenti al codice boilerplate.

    
posta johnny 14.07.2017 - 21:17
fonte

2 risposte

3

No.

Ho seguito un servizio / classe di esempio in entrambi i modi e ho inviato domande a questo sito con codice completo. Funziona quasi allo stesso modo.

es. si finisce con lo stesso identico codice. è solo in spazi diversi per i nomi

    
risposta data 14.07.2017 - 21:48
fonte
6

La discussione sui "modelli anemici" rispetto ai "modelli ricchi" non ha nulla a che fare con il codice duplicato e solo con poche cose con il codice boilerplate. Come hai già detto tu stesso, il codice "core" delle tue operazioni (ad esempio, il codice SQL per le operazioni CRUD) sarà lo stesso. Ovviamente, in un "modello anemico", avrete sempre bisogno di classi di servizio extra, e il codice per queste classi può essere visto come "codice standard".

Tuttavia, se è meglio o peggio avere questo codice extra è altamente motivato e può dipendere pesantemente dalla situazione individuale. Nota inoltre, evitare la duplicazione del codice è solo una misura per un buon codice: nella discussione sui "modelli anemici" rispetto ai "modelli ricchi" ci sono altre cose a fuoco, come l'SRP, coesione e accoppiamento, incapsulamento e testabilità.

    
risposta data 14.07.2017 - 21:53
fonte

Leggi altre domande sui tag