Dalla mia esperienza 3 cosa più importante che rende il vostro dominio complesso:
Dimensioni
Grandi domini tende ad aumentare la complessità. Gestire e coordinare molte cose è sempre difficile.
Regole e invarianti
Domini (anche domini con solo un paio di contesto limitata) potrebbe avere un sacco di regole di dominio e invarianti e/o un sacco di sfumature nei suoi casi e processo di utilizzo. Questo aumenta la complessità. Le regole che inviano spam a molte modifiche in un'entità o eventi tra domini sono spesso le regole aziendali complesse.
Contesto
contesto complessità è difficile da spiegare wihtout un esempio. Mettiamo in tabella una complessità di contesto relativa a un'entità denominata Product
.
A seconda del contesto; un'entità potrebbe significare cose diverse nel tuo dominio. Un'entità Product
non si ha lo stesso significato per il contesto di fabbrica, contesto Marketing, Vendite contesto, contesto supporto PostSales, ecc
Se i dati, casi utente, processi, comportamenti, ecc legato alla Product
entità, in ogni contesto, sono molto diversi, la complessità aumenta molto anche quando hai solo una manciata di contesti ed entità. Questo di solito significa che hai molte Product
entità (una in ogni contesto) anche se tutte sono supportate dallo stesso archivio di persistenza (nel caso di ER store, le stesse tabelle).
Direi che non solo per * domini complessi * ma anche per * progetti ambiziosi che mirano ad avere una lunga vita *. La seconda affermazione ignora la complessità. – fabriciorissetto