DDD e convalida della radice aggregata

2

Supponi una radice aggregata: MailConfiguration (avvolgendo un oggetto AddressPart). L'oggetto AddressPart è un oggetto valore immutabile semplice con alcuni campi come senderAdress, recipedAddress (per rendere semplice l'esempio).

Essendo un oggetto invariante, AddressPart dovrebbe avvolgere logicamente il proprio Validatore (a titolo di external un tipo di AddressValidator per il rispetto del Principio di Responsabilità Unica)

Ho letto alcuni articoli che sostenevano che un aggregatoRoot doveva convalidare i suoi "figli". Tuttavia, se seguiamo questo principio, si potrebbe creare un AddressPart con uno stato non valido / non valido.

Qual è la tua opinione? Devo spostare il collaboratore AddressValidator (utilizzato nel costruttore in modo da convalidare immediatamente la coesione di un AddressPart) da AddressPart e assegnarlo a aggregateRoot (MailConfiguration)?

    
posta Mik378 20.03.2012 - 07:45
fonte

1 risposta

1

IndirizzoPart verrà mai utilizzato altrove al di fuori del tuo aggregato MailConfiguration? Se è (o è probabile che sia), la convalida deve assolutamente rimanere con esso.

In realtà, direi che la convalida dovrebbe rimanere senza dubbio a prescindere. Anche se il genitore era "responsabile", dovrebbe semplicemente delegare quella chiamata ai figli che ha.

    
risposta data 20.03.2012 - 10:02
fonte

Leggi altre domande sui tag