Sto lavorando a un progetto utilizzando sia la progettazione basata su domini sia lo sviluppo basato su test. Durante la lettura del libro DDD di Evans, ho notato che non definiva le interfacce per le radici aggregate nel dominio.Se una radice aggregata implementa un'interfaccia nella progettazione basata sul dominio
Se eseguo sia DDD che TDD, dovrei definire le interfacce per ogni radice aggregata per rendere le classi di radice aggregate facilmente controllabili e verificabili? In tal caso, dovrei definire anche le interfacce per ogni entità contenuta all'interno della radice aggregata?
Dalle mie ricerche su Google e StackOverflow, ho trovato risposte che si avvicinano a ciò che sto cercando, ma sono specificamente alla ricerca di consigli quando si eseguono DDD e TDD perché la mia ipotesi è quella della testabilità, quando facendo TDD, potrebbe essere trascurato nelle risposte che ho visto finora.
questa è una domanda ampia. potresti voler dare un esempio di ciò che il tuo edificio ha per ottenere risposte più specifiche. così com'è si potrebbe ottenere molto la risposta 'dipende' –
Hubson, mi scuso per l'ampiezza della domanda. Per chiarire, sto specificatamente cercando di determinare se Evans intenzionalmente non ha definito le interfacce per le radici aggregate nei suoi esempi nel libro per mantenere gli esempi semplici (cioè per ignorare aspetti, come TDD, al di fuori dell'argomento del libro) o se li ha esclusi perché non forniscono alcun valore aggiuntivo nemmeno quando fanno TDD. L'esempio in questione sarebbe l'applicazione cargo Evans usata come esempio nel libro Domain-Driven Design. Spero che questo aiuti a restringere la portata della domanda. Grazie per il feedback. –
non ci sono scuse necessarie e questo è concreto. passando solo quello che ho imparato. la gente ama questo tipo di domanda in coppia con "ecco dove sono" i diagrammi di codice/architettura. –