Sono nuovo del DDD e sto pensando di utilizzare questa tecnica di progettazione nel mio progetto.Quali sono le caratteristiche del mio codice DDD (progettazione basata sul dominio)?
Tuttavia, ciò che mi colpisce del DDD è che l'idea è di base. A differenza di altre tecniche di progettazione come MVC e TDD, non sembra contenere idee innovative. Ad esempio, sono sicuro che alcuni di voi avranno la stessa sensazione che l'idea degli aggregati e dei repository di root non siano una novità, perché quando si scrivono le applicazioni Web MVC è necessario avere un unico oggetto master (ad es. aggregato radice) che contiene altri oggetti minori (ad es. oggetti valore ed entità) nel livello del modello per inviare dati a una vista fortemente tipizzata.
Per me, l'unica idea nuova in DDD è probabilmente il
- entità "intelligenti" (per esempio, si suppone di avere regole di business su aggregati root)
- separazione tra oggetto valore, di aggregazione delle radici e entità.
Qualcuno può dirmi se ho perso qualcosa qui? Se questo è tutto ciò che c'è in DDD, se aggiorno una delle mie applicazioni MVC esistenti con le 2 nuove idee di cui sopra, posso affermare che si tratta di un'applicazione TDD, MVC e DDD?
Ho pensato la stessa cosa. Non vedo l'ora di vedere cosa dicono le persone DDD più esperte. –
Stai mescolando mele e pere ... DDD è un approccio all'architettura (sebbene l'autore preferisca il nome "design strategico"), che comprende diverse architetture, modelli di design e teche tecniche, frutto dell'esperienza. MVC è un modello architettonico e di design. TDD è un metodo di sviluppo, anche se molto leggero composto da una semplice tecnica di sviluppo. Queste cose sono molto diverse. Non guardare in DDD a pattern singoli, sono per lo più presi da altre fonti e non sono specifici per DDD. –