Eu me deparei com a palestra de Greg Young, 7 razões pelas quais os projetos DDD fracassam, onde ele menciona algo que chama DDD-Lite às 7:20.
Resumindo, ele basicamente diz que alguns usam o DDD como uma linguagem de padrões (entidades, repositórios, objetos de valor, serviços etc.) sem fazer mais nada relacionado ao DDD. Ele postula 60% ou mais dos modelos de domínio em .Net são DDD-Lite. Ele acha que o DDD-Lite está basicamente construindo uma linguagem em torno da injeção de dependência, algo que você realmente não precisa fazer. Ele diz que faz DDD inteiramente ou faz algo mais simples. Caso contrário, ele afirma que uma pessoa está realizando todo esse trabalho na construção de boas abstrações, mas sem benefícios reais.
Devo admitir que não sei tanto sobre DDD quanto gostaria e ainda não tentei usá-lo. Também não li o livro de Eric Evan. Estou muito mais interessado em Injeção de Dependência e muitos livros e blogs sobre esse assunto usam termos e conceitos de referência do livro DDD de Eric Evans. Foi aqui que fui exposto aos conceitos de DDD. Os livros que tenho lido que fazem isso incluem:
- Injeção de Dependência no .NET
- Microsoft .Net: arquitetando aplicativos para a empresa
- Desenvolvimento de aplicativos Brownfield em .NET
Se alguém quiser fazer a injeção de dependência, quais são as alternativas mais simples do que fazer o "DDD-Lite?" Parece-me que construir boas abstrações é bastante útil, independentemente de alguém estar usando conceitos do DDD da maneira "DDD-Lite". (consulte as postagens do blog de Mark Seemann: interfaces não são abstrações e rumo a melhores abstrações ). É difícil acreditar que todo mundo que faz a injeção de dependência também esteja fazendo (ou precisa fazer) DDD de pleno direito. De alguma maneira eu não entendi o argumento de Greg Young sobre DDD-Lite?