Ngoài các câu trả lời dành riêng cho nền tảng đã có, tôi muốn tiếp tục xem xét chung hơn. Câu hỏi này, từ quan điểm của tôi, bằng cách nào đó liên quan đến việc quyết định lựa chọn mô hình trang trí trên thừa kế (ví dụ @Component
vs extends Component
)
Một số lợi ích của việc sử dụng trang trí là:
1. Tách mối quan tâm:
Thông tin bên trong trang trí là khai báo, chúng xác định hành vi của một lớp, rất có thể sẽ không thay đổi theo thời gian và được khung làm việc sử dụng. Các thuộc tính và trường lớp là dữ liệu theo lớp cụ thể, sẽ luôn được xử lý và cập nhật thường xuyên và chỉ có ý nghĩa trong chính lớp đó. Hai loại dữ liệu này không nên trộn lẫn với nhau.
2.Hỗ trợ nhiều sửa đổi
Nhiều ngôn ngữ ngăn nhiều thừa kế do Diamond problem. Mặt khác, một lớp có thể có nhiều trang trí cho các mục đích khác nhau (ví dụ: @Component
và không được chấp nhận @RouteConfig
)
Nguồn
2016-06-28 10:37:25
"Nói chung, trang trí cho phép bạn thực hiện các chức năng". Đó không phải là rất hữu ích. Ngôn ngữ lập trình cho phép bạn "Thực hiện các chức năng" ... – spinkus