Visitor pattern ý:
Đại diện cho một hoạt động được thực hiện trên các yếu tố của một cấu trúc đối tượng. Khách truy cập cho phép bạn xác định một hoạt động mới mà không thay đổi các lớp của các phần tử mà nó hoạt động.
mẫu Sử dụng Visitor nếu:
- hoạt động tương tự phải được thực hiện trên các đối tượng của các loại khác nhau nhóm lại trong một cấu trúc
- Bạn cần phải thực hiện nhiều hoạt động riêng biệt và không liên quan .Nó tách hoạt động từ đối tượng Cấu trúc
- hoạt động mới phải được bổ sung mà không thay đổi trong cấu trúc đối tượng
- Thu thập các hoạt động có liên quan vào một lớp duy nhất hơn là buộc bạn phải thay đổi hoặc lấy lớp
- Thêm chức năng đến các thư viện lớp mà bạn không có nguồn hoặc không thể thay đổi nguồn
Mặc dù khách truy cập vỗ nhẹ tern cung cấp tính linh hoạt để thêm hoạt động mới mà không thay đổi mã hiện có trong Object, tính linh hoạt này đã đi kèm với một nhược điểm.
Nếu một đối tượng có thể truy cập mới đã được thêm vào, nó yêu cầu thay đổi mã trong các lớp khách truy cập & ConcreteVisitor. Có một giải pháp để giải quyết vấn đề này: Sử dụng sự phản chiếu, điều này sẽ có tác động đến hiệu suất.
Tham khảo oodesign article và sourcemaking bài viết để biết thêm chi tiết
mô hình chiến lược ý:
Định nghĩa một gia đình của các thuật toán, đóng gói mỗi người, và làm cho họ hoán đổi cho nhau. Chiến lược cho phép thuật toán thay đổi độc lập với khách hàng sử dụng nó.
Chiến lược cho phép bạn thay đổi đường ruột của đối tượng.
Tham khảo bên dưới câu hỏi SE để biết thêm chi tiết:
Real World Example of the Strategy Pattern
Nguồn
2016-06-03 10:16:54
Đây là cách hay để liên quan đến các mẫu khác nhau: http://www.cours.polymtl.ca/inf3700/divers/nonSoftwareExample/patexamples.html –
Liên kết đẹp @ jco.owens!Liên kết –
bị hỏng ngay bây giờ .. bạn có thể cập nhật @ jco.owens không? – Joe