2010-05-13 65 views
13

Tôi có rất nhiều đối tượng miền java mà tôi cần chuyển đổi sang DTO.Tạo DTO và ánh xạ từ các đối tượng miền

Xin vui lòng, đừng bắt đầu với những điều chống mẫu, các đối tượng miền là những gì họ là vì một lịch sử lâu dài, và tôi không thể sửa đổi chúng (hoặc không quá nhiều, xem bên dưới).

Vì vậy, tất nhiên, chúng tôi đã vượt qua tuổi làm tất cả những việc đó theo cách thủ công. Tôi đã xem xét xung quanh và dozer dường như là khung lựa chọn cho ánh xạ DTO.

Nhưng ... điều tôi thực sự thích là: chú thích các lớp và trường mà tôi muốn trong DTO và chạy công cụ tạo DTO và trình lập bản đồ.

Âm thanh đó có quá không hợp lý không?

Công cụ như vậy đã tồn tại chưa?

+0

Có thể, nhưng có thể giúp bạn biết được ngôn ngữ nào bạn đang đề cập đến. Java/.Net? – JasonTrue

+0

Có ... xin lỗi ... Tôi nhận ra sau khi đặt câu hỏi. Tôi đã cập nhật nó. –

+0

Dozer là một hộp khủng khiếp, chậm, đen, khó gỡ lỗi, khó duy trì mọi loại vấn đề lập bản đồ bộ sưu tập, cập nhật các đối tượng tại chỗ với bất kỳ loại mối quan hệ phức tạp nào, khó tùy chỉnh .... ugh. Tốt hơn để viết bản đồ của bạn bằng tay: nhanh, debuggable, refactorable qua IDE. My 2 ¢ –

Trả lời

13

Cân nhắc kiểm tra ModelMapper.

Nó khác với Dozer và những người khác ở chỗ nó giảm thiểu số lượng cấu hình cần thiết bằng cách ánh xạ các mô hình đối tượng thông minh. Trong trường hợp cấu hình là cần thiết, ModelMapper cung cấp một API tái cấu trúc an toàn sử dụng mã thực tế để ánh xạ các thuộc tính và các giá trị thay vì sử dụng các tham chiếu chuỗi hoặc XML.

Kiểm tra các trang web ModelMapper để biết thêm:

http://modelmapper.org

+0

Không chỉ ModelMapper tạo ra những người vẽ bản đồ chứ không phải DTO? – Alessio

6

Bạn có thể quan tâm MapStruct, một bộ tạo mã cho JavaBeans người vẽ bản đồ. Bạn sẽ phải triển khai mô hình nguồn (ví dụ: đối tượng tên miền) và mô hình đích (ví dụ: DTO) và MapStruct tạo mã an toàn và nhanh chóng loại để lập bản đồ giữa các mô hình này (tuyên bố từ chối trách nhiệm: Tôi là tác giả của dự án này).

2

Chủ đề này hơi cũ, nhưng nếu có ai vẫn đang cố gắng thực hiện việc này, http://www.dtonator.org/ là tùy chọn tốt nhất mà tôi đã tìm thấy cho đến thời điểm này. Nó là công cụ duy nhất tôi có thể tìm thấy rằng thực sự CREATES các tập tin DTO và không gắn liền với một khuôn khổ cụ thể (Spring, Seam, vv) hoặc IDE.

Các vấn đề liên quan