Secondo this definition, il concetto di Fowler di Anemic Domain Model è: modello di dominioUn modello di dominio anemico significa che non è possibile utilizzare classi di utilità/supporto come "helper" per il modello di dominio?
un software in cui la logica di business è implementato al di fuori oggetti del dominio
e
Con questo schema, la logica è in genere implementata in classi separate che trasforma la st mangiato del dominio oggetti. Fowler chiama tali script di transazioni di classi esterne .
Se prendiamo l'esempio di un carrello, l'oggetto Cart è l'oggetto dominio. Ma per elaborare il carrello fino all'ordine finale e la ricevuta è necessario controllare l'inventario dell'ordine e elaborare il pagamento con carta di credito. Molte di queste cose richiedono classi di utilità poiché fare tutto solo all'interno dell'oggetto Cart significa che la classe Cart sarebbe enorme e ingombrante. Ciò significa che il carrello in questo esempio sarebbe un modello di dominio anemico e queste classi di utilità sarebbero "script di transazione" in base alla definizione sopra riportata?
Perdona la mia curiosità, ma la domanda, come ho capito, riguardava il modello di dominio _anemico_ che impedisce completamente metodi come sopra Purchase() nelle classi di dominio. Con il modello di dominio anemico le classi di dominio non hanno nient'altro che getter/setter e si finirebbe con tutti i comportamenti (!) Implementati al di fuori delle classi di dominio. Quindi, con le ipotesi di cui sopra, l'adozione del modello di dominio anemico ti costringerà a utilizzare classi helper/utility, poiché non hai altra scelta! Perché non utilizzare il meglio di entrambi i mondi: algoritmi universali nel modello di dominio e il resto fuori! Stefan – struppi
@struppi - Perché dici che metodi come il precedente Purchase() sarebbero proibiti? Questo metodo potrebbe essere più che ottenere/impostare, poiché conterrebbe la logica di business per eseguire l'acquisto. –