Như chúng ta sẽ thấy tiếp theo, việc thực hiện hiệu quả nhất của Chuỗi mẫu Trách nhiệm depersonalizes các Handlers, giảm chúng đến các hoạt động mà họ thực hiện.
Xét về mặt thiết kế, có thể có các biến thể trên hình 8-2:
• Việc xử lý có thể chỉ khác nhau về các giá trị của nhà nước họ lưu trữ (ví dụ, một giới hạn trên một số tiền), hoặc trong các hành vi của các Requestmethod. Trong trường hợp này, các IHandlerinterface có thể được cần đến, và Handlers vẫn có thể được thuyết minh trong đủ loại.
• Các sơ đồ UML ngụ ý chỉ một instantiation của eachHandler, kết quả là một xử lý ở từng cấp trong chuỗi. Thực tế mà nói, có thể có một số xử lý giống hệt nhau ở mức độ nhất định (ví dụ, nhân viên trong ngân hàng). Một thiết kế khác nhau là cần thiết để thích ứng với trường hợp thứ hai. Thiết kế này được thể hiện trong các mã ví dụ sắp tới.
đang được dịch, vui lòng đợi..