nền nhanhLàm thế nào để trang trí một đối tượng trong Java
Tôi có một hai danh sách (lớn) POJO được thông qua vào một phương pháp trong đó tôi cần phải đảm bảo tính độc đáo trên hai danh sách. Giải pháp tốt nhất tôi có thể thấy là xây dựng hai bộ và kiểm tra xem giao lộ của chúng có trống không.
Vấn đề
Đối với bối cảnh của phương pháp này, và phương pháp này một mình, tôi cần phải ghi đè lên equals
và hashcode
phương pháp của POJO trong câu hỏi.
Những gì tôi đang tìm kiếm
Điều này có vẻ giống như một candiate thủ để trang trí các đối tượng hiện có. Tôi đã xem xét Guava's ForwardingObject nhưng nó có vẻ phù hợp nhất để ủy quyền các đối tượng thực hiện một giao diện nhất định mà không phải là trường hợp của tôi. Nói chung, tôi đang tìm một giải pháp ...
- Tránh đối phó tất cả các trường trong POJO lớn (các nhà xây dựng sao chép).
- Dễ hiểu và duy trì
- tránh tạo ra một lớp học hoàn toàn mới mà kéo dài POJO vì lợi ích của một phương pháp này
Bạn có nói rằng các POJO hiện không thực hiện equals và hashcode rồi và bạn không thể thay đổi chúng để làm như vậy? –
Mẫu trang trí thực sự không có ý nghĩa quá nhiều nếu không có giao diện chung. Mở rộng lớp học là "yuck". –
@Eric: Không, tôi nói rằng POJO bằng và hashcode không có ý nghĩa đối với phương pháp này. Odd có lẽ nhưng đây không phải là lần đầu tiên tôi muốn xác định một bối cảnh bình đẳng. –