Natknąłem się na przemówienie Grega Younga 7 powodów, dla których projekty DDD zawiodły, kiedy wspomina coś, co nazywa DDD-Lite o 7:20.
Podsumowując, w zasadzie mówi, że niektórzy używają DDD jako języków wzorcowych (bytów, repozytoriów, obiektów wartości, usług itp.) Bez robienia czegokolwiek innego związanego z DDD. Postuluje, że 60% lub więcej modeli domen w .Net to DDD-Lite. Uważa, że DDD-Lite zasadniczo buduje język wokół wstrzykiwania zależności, czego tak naprawdę nie trzeba robić. Mówi, że albo całkowicie zrób DDD, albo zrób coś prostszego. W przeciwnym razie twierdzi, że osoba wykonuje całą tę pracę w budowaniu dobrych abstrakcji, ale bez żadnych rzeczywistych korzyści.
Muszę przyznać, że nie wiem tak dużo o DDD, jak bym chciał, i jeszcze nie próbowałem go używać. Nie przeczytałem też książki Erica Evana. Jestem znacznie więcej zainteresowany Dependency Injection i wiele, wiele książek i blogów na tym zastosowaniu przedmiotem terminów i pojęć referencyjnych z DDD książki Erica Evansa. To tutaj byłem narażony na koncepcje DDD. Książki, które czytam, które to robią, obejmują:
- Wstrzykiwanie zależności w .NET
- Microsoft .Net: Projektowanie aplikacji dla przedsiębiorstw
- Tworzenie aplikacji Brownfield w .NET
Jeśli ktoś chce wykonać wstrzyknięcie zależności, jakie są prostsze alternatywy niż „DDD-Lite”? Wydaje mi się, że budowanie dobrych abstrakcji jest całkiem przydatne, niezależnie od tego, czy używa się koncepcji z DDD w sposób „DDD-Lite”. (patrz posty na blogu Marka Seemanna: Interfejsy nie są abstrakcjami , a ku lepszym abstrakcjom ). Trudno mi uwierzyć, że wszyscy, którzy wykonują Dependency Injection, robią (lub muszą) pełnoprawną DDD. Czy w jakiś sposób źle zrozumiałem argument Grega Younga na temat DDD-Lite?