Thắc mắc về design pattern Chain of responsibility vs Commands kết hợp queue

mình đọc xong 2 pattern này và muốn hỏi có thể dùng Commands kết hợp queue để thay thế cho Chain of responsibility đc ko?

vì khi mình đọc cái ví dụ thì thấy người ta sài Commands kết hợp queue , để thực thi 1 loạt request tuần tự

và Chain of responsibility thì mình cũng thấy mục đích nó là thực thi 1 loạt hành vi 1 cách tuần tự, Chain of responsibility thì nó sài đệ quy, còn Commands thì mình thêm 1 cái queue hoặc stack thì 2 cái này có chức năng tương đương nhau ko?

1 Like

Không hẳn, do Command không có next nên khi đặt trong container thì cần thêm logic cho container này, trong khi có thể thiết lập 1 chuỗi Handler riêng ở ngoài.

2 Likes

đoạn này ý anh là thằng COR nó ko cần thêm cái container bên ngoài nữa nên nếu gặp dạng các hành vi đc gọi liên tiếp thì nên sài thằng COR hơn là command + container bên ngoài à? nhưng ý em muốn hỏi là command + container bên ngoài có thể thay thế cho thằng COR ko?

Được hay không thì cần nhìn vào bài toán màn bạn cần giải quyết. Về cơ bản thì không có cái nào là đúng cho mọi trường hợp, hay không thể thay thế cho nhau. Bạn có thể từ các mẫu rồi phát triển thêm để phù hợp với yêu cầu của mình

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?