Tôi đang đọc qua cuốn sách tái cấu trúc của Fowler và có chút bối rối về hai mùi mã đó."Chuỗi thông báo" so với "Người trung gian"
"Chuỗi thư" là các cuộc gọi như a.getB().getC().getValue()
.
"Trung Man" là một phương pháp như
class A
{
object getCValue()
{
return b.getCValue();
}
}
Con đường tôi hiểu được phần hai là nếu bạn đã có "Message Chuỗi" bạn rút ngắn chúng bằng cách giới thiệu "Trung Men". Và nếu bạn đã có "Người đàn ông trung niên", bạn chuyển chúng thành "Chuỗi thông báo" ...
Bây giờ rõ ràng phải có một số hạn chế đối với điều này hoặc bạn sẽ có một người lập trình vui vẻ. Tôi nên ưu tiên cái nào hơn cái kia?
Thứ nhất là ghép nối lớp với các lớp không liên quan, lớp kia kết nối lớp với cấu trúc. Vì vậy, theo lý thuyết, phương pháp tiếp cận của tôi sẽ là kiểm tra xem liệu bất kỳ thay đổi nào có làm giảm một loại khớp nối nhiều hơn nó làm tăng loại khớp nối khác không. Nhưng là một loại khớp nối tồi tệ hơn và nên được cân nhắc nhiều hơn? I E. chỉ thêm một lớp khớp nối nếu bạn có thể loại bỏ khớp nối cấu trúc X?