Sử dụng Spring MVC, chúng ta thường thấy lớp Bộ điều khiển, Dịch vụ và Kho lưu trữ. Lớp Repository sử dụng mô hình Entity là một trong một ánh xạ với cơ sở dữ liệu. Tôi đã nghĩ đến những điều sau đây -Kiến trúc MVC DTO/Lập bản đồ/chuyển đổi mô hình
- Lớp dịch vụ có nên sử dụng cùng một mô hình Thực thể không?
- Lớp dịch vụ có nên sử dụng mô hình miền riêng biệt không? Nếu có thì ánh xạ tới/fro nên được thực hiện trong lớp Dịch vụ?
- Lớp điều khiển có nên sử dụng cùng một mô hình Tên miền không?
- Lớp điều khiển có nên sử dụng mô hình DTO riêng biệt không? Nếu có thì ánh xạ tới/fro nên được thực hiện trong lớp điều khiển?
- Chúng ta có cách nào đơn giản để lập bản đồ mà không cần viết quá nhiều đoạn mã dài không? Tôi đã sử dụng Dozer vài lần trong quá khứ.
Câu hỏi này có thể đã được hỏi nhưng tôi không thể tìm thấy. Vì vậy, xin lỗi cho câu hỏi trùng lặp.
> Mô hình thực thể cũng nên trưng ra một hàm tạo quá tải chấp nhận đối tượng DTO làm đối số Điều gì xảy ra nếu thực thể của tôi có các thực thể phụ thuộc (tức là mối quan hệ một-nhiều)? Trong DTO, tôi có thể lưu trữ ID tương ứng của chúng, nhưng chuyển đổi DTO -> Thực thể sẽ yêu cầu tìm nạp các thực thể con theo các ID đó. Phương pháp xử lý được chấp nhận là gì? –
Trong trường hợp đó, tạo một đối tượng nhà máy sẽ quản lý việc tạo và chuyển đổi DTO thành mô hình Thực thể. Bạn có thể tiêm dịch vụ của bạn cho đối tượng nhà máy này để tìm các đối tượng theo id của chúng. – Bnrdo