Tôi tình cờ nghe được bài nói chuyện của Greg Young 7 Lý do tại sao các dự án DDD thất bại khi anh ấy đề cập đến thứ mà anh ấy gọi là DDD-Lite lúc 7:20.
Tóm tắt, về cơ bản, ông nói rằng một số sử dụng DDD như một ngôn ngữ mẫu (thực thể, kho lưu trữ, đối tượng giá trị, dịch vụ, v.v.) mà không làm bất cứ điều gì khác liên quan đến DDD. Ông yêu cầu 60% hoặc nhiều hơn các mô hình miền trong .Net là DDD-Lite. Anh ấy nghĩ rằng DDD-Lite về cơ bản đang xây dựng một ngôn ngữ xung quanh việc tiêm phụ thuộc, điều mà bạn không thực sự cần phải làm. Ông nói hoặc làm DDD hoàn toàn hoặc làm một cái gì đó đơn giản hơn. Mặt khác, ông tuyên bố một người đang đưa ra tất cả các công việc này để xây dựng trừu tượng tốt, nhưng không có bất kỳ lợi ích thực sự.
Tôi phải thừa nhận rằng tôi không biết nhiều về DDD như tôi muốn và chưa thử sử dụng nó. Tôi cũng chưa đọc cuốn sách của Eric Evan. Tôi quan tâm nhiều hơn đến Dependency Injection và nhiều, rất nhiều sách và blog về chủ đề này sử dụng các thuật ngữ và khái niệm tham khảo từ cuốn sách DDD của Eric Evans. Đây là nơi tôi đã tiếp xúc với các khái niệm DDD. Những cuốn sách tôi đã đọc làm điều này bao gồm:
- Phụ thuộc tiêm trong .NET
- Microsoft .Net: Kiến trúc ứng dụng cho doanh nghiệp
- Phát triển ứng dụng Brownfield trong .NET
Nếu một người muốn thực hiện Dependency Injection, các lựa chọn thay thế đơn giản hơn so với thực hiện "DDD-Lite là gì?" Nghe có vẻ như tôi xây dựng các bản tóm tắt tốt khá hữu ích cho dù người ta có sử dụng các khái niệm từ DDD theo cách "DDD-Lite" hay không. (xem bài đăng trên blog của Mark Seemann: Giao diện không phải là trừu tượng và Hướng tới trừu tượng tốt hơn ). Tôi có một thời gian khó tin rằng tất cả mọi người thực hiện Dependency Injection cũng sẽ làm (hoặc cần phải làm) DDD đầy đủ. Có phải tôi đã hiểu nhầm lý lẽ của Greg Young về DDD-Lite?