Sau khoảng một tháng đọc và nghiên cứu DDD, tôi quyết định bắt đầu dự án của riêng mình và tạo DDD với những bối cảnh bị ràng buộc>
- Khách hàng
- Các sản phẩm
- Đơn đặt hàng
- Thanh toán
Mỗi bối cảnh giới hạn có API còn lại là lớp trình bày, lớp miền, lớp liên tục.
Cho đến nay rất tốt, mã đang chạy trơn tru, nhưng đến từ một thế giới nguyên khối, tôi vẫn đang cố gắng tìm ra những điều sau đây:
- khi tôi muốn tạo một khách hàng mới, phát hành hóa đơn mới, tạo đơn hàng mới tôi muốn ví dụ như danh sách các quốc gia truy cập. Tôi có
a) tạo danh sách các quốc gia ở mỗi BC
b) tạo Quốc gia BC -> API và sử dụng API để nhận danh sách các quốc gia có sẵn
c) sử dụng API của bên thứ 3 và kéo dữ liệu qua lớp chống ăn mòn ở mỗi BC
- khi tích hợp với API của bên thứ 3 bằng cách sử dụng lớp chống ăn mòn hoặc lớp bộ điều hợp, dữ liệu nào phải được đưa vào mô hình miền của tôi? Ví dụ: nếu tôi muốn tích hợp API zendesk với Client BC. Tôi có cần chỉ một TicketID trong miền của mình không, hoặc tôi phải trích xuất tất cả dữ liệu từ Zendesk mà tôi muốn truy cập và sử dụng trong Client BC?
Nếu ứng dụng MVC của tôi thực sự nhận được dữ liệu từ các API (các lớp trình bày trong bối cảnh bị ràng buộc của tôi), tôi thấy rất khó xác định rõ ràng ranh giới của từng BC. Điều đó có nghĩa là một BC được thiết kế đúng sẽ phục vụ một bộ điều khiển MVC duy nhất mà không cần phải sử dụng các API bổ sung?