Je suis tombé sur le discours de Greg Young 7 Reasons Why DDD Projects Fail où il mentionne quelque chose qu'il appelle DDD-Lite à 7h20.
En résumé, il dit essentiellement que certains utilisent DDD comme langages de modèle (entités, référentiels, objets de valeur, services, etc.) sans rien faire d'autre lié à DDD. Il postule que 60% ou plus des modèles de domaine en .Net sont DDD-Lite. Il pense que DDD-Lite est en train de construire un langage autour de l'injection de dépendance, ce que vous n'avez pas vraiment besoin de faire. Il dit soit de faire DDD entièrement, soit de faire quelque chose de plus simple. Sinon, il prétend qu'une personne met en avant tout ce travail pour construire de bonnes abstractions, mais sans aucun avantage réel.
Je dois admettre que je ne connais pas autant le DDD que je le souhaiterais, et je n'ai pas encore essayé de l'utiliser. Je n'ai pas non plus lu le livre d'Eric Evan non plus. Je m'intéresse beaucoup plus à l'injection de dépendance et de nombreux livres et blogs sur ce sujet utilisent des termes et des concepts de référence du livre DDD d'Eric Evans. C'est là que j'ai été exposé aux concepts DDD. Les livres que j'ai lus qui font cela incluent:
- Injection de dépendances dans .NET
- Microsoft .Net: Architecture d'applications pour l'entreprise
- Développement d'applications Brownfield dans .NET
Si l'on veut faire l'injection de dépendance, quelles sont les alternatives plus simples que de faire "DDD-Lite?" Il me semble que la construction de bonnes abstractions est très utile, peu importe si l'on utilise les concepts de DDD de manière "DDD-Lite". (voir les articles de blog de Mark Seemann: les interfaces ne sont pas des abstractions et vers de meilleures abstractions ). J'ai du mal à croire que tout le monde qui fait de l'injection de dépendance fait également (ou doit faire) un DDD à part entière. Ai-je mal compris l'argument de Greg Young à propos de DDD-Lite?