Tôi làm việc trên một ứng dụng phụ trợ lộ ra một API REST và tôi (cố gắng) sử dụng Domain Driven Design trong dự án của tôi.Các lớp cơ sở hạ tầng API có nên là một phần của miền trong DDD không?
API REST hoạt động trên một nhóm lớp miền cố định. Đối với tất cả các root agregate từ miền có một điểm cuối REST riêng biệt. Tuy nhiên, bất chấp tất cả những nỗ lực này, có những trường hợp khi các lớp học mới, không phát sinh từ các lớp miền (lớp cơ sở hạ tầng) xuất hiện, ví dụ:
- một trạng thái lớp tổ chức các hoạt động hàng loạt
[{"id": 1, "status": "success"},{"id": 2, "status": "failure", "message": "detailed message"}]
- một lớp học với các cột được lựa chọn bởi người dùng
[{"column": "id", "order": 1}, {"column":"created", "order": 2 }]
Bây giờ hai lựa chọn:
- là nó ok để có REST API tiếp xúc với các lớp học mà không phải là một phần của lĩnh vực?
- hoặc các lớp này có nên trở thành một phần của miền không?
Tôi nghĩ hoàn toàn hợp lý khi hiển thị các hợp đồng cụ thể theo từng lớp. Ví dụ, DTO thường được định nghĩa trong lớp ứng dụng ... – plalx