Trong cuốn sách Design Patterns by GoF (Eric Gamma và những người khác), mẫu bộ điều hợp hai chiều được đề cập được sử dụng để minh bạch. Chúng hữu ích khi 2 máy khách khác nhau muốn xem cùng một đối tượng khác nhau. Có thể một số cho một ví dụ C + + cho cùng và trong đó các kịch bản thực tế nó có thể được sử dụng ??Mô hình bộ điều hợp hai chiều
Trả lời
Khi Go4 giải thích (trang 143 cho tôi), nó là phần mở rộng của Bộ điều hợp cho đa kế thừa. Thay vì mở rộng một loại giao diện, lớp bộ điều hợp mở rộng hai.
Tôi thấy rằng giải thích cho here là khá tốt. Nó là một ví dụ C# nhưng lời giải thích là rõ ràng và ví dụ có thể khá dễ dàng được dịch sang mã C++. Ví dụ này cũng khá chi tiết.
Được rồi, do đó, sự khác biệt duy nhất giữa bộ điều hợp hai chiều và bộ điều hợp lớp cổ điển là: 1) bộ điều hợp lớp cổ điển có thể được truy cập thông qua giao diện Itarget/client 2) bộ điều hợp hai chiều có thể được truy cập thông qua Itarget/giao diện lớp cũng như giao diện thích ứng – Priyanka
Bộ điều hợp hai chiều là bộ điều hợp thực hiện cả hai giao diện của Target và Adaptee. Đối tượng được điều chỉnh có thể được sử dụng như Target trong các hệ thống mới đối phó với các lớp Target hoặc như Adaptee trong các hệ thống khác đối phó với các lớp Adaptee. Đi sâu hơn vào dòng suy nghĩ này, chúng ta có thể có các adapter thực hiện các giao diện n, thích ứng với các hệ thống n. Bộ điều hợp hai chiều và bộ điều hợp n-way khó thực hiện trong các hệ thống không hỗ trợ đa kế thừa. Nếu adapter phải mở rộng lớp Target, nó không thể mở rộng một lớp khác như Adaptee, vì vậy Adaptee sẽ là một giao diện và tất cả các cuộc gọi sẽ được ủy nhiệm từ adapter đến đối tượng Adaptee.
- 1. Rails - hai chiều mô hình "tình bạn" (tiếp theo)
- 2. "Bộ điều hợp" hoặc "bộ điều hợp"?
- 3. Giao tiếp giữa Mô hình và Bộ điều khiển - iOS
- 4. MVC: Mô hình hoặc Bộ điều khiển có hợp lệ hóa đầu vào của người dùng
- 5. Hiển thị mô hình được kết hợp với bộ điều khiển riêng
- 6. Mô hình AngularJS, nhiều phạm vi $ và dữ liệu hai chiều ràng buộc
- 7. mô hình có điều kiện phù hợp trong vợt
- 8. Spring MVC - mô hình truyền giữa các bộ điều khiển
- 9. CanCan và bộ điều khiển không có mô hình
- 10. Vẽ đường thẳng giữa mô hình và Bộ điều khiển
- 11. Một Mô phỏng Đi bộ Ngẫu nhiên Đơn giản khác Sử dụng Python (Hai chiều)
- 12. Từ điển hai chiều?
- 13. Cần LiveBirectings hai chiều giữa điều khiển và đối tượng
- 14. F # mô hình kết hợp kỳ quặc
- 15. chuyển hai mô hình để xem
- 16. .NET 3.5SP1 Mô hình bộ nhớ 64 bit so với mô hình bộ nhớ 32 bit
- 17. Thanh điều hướng hai chiều không mong muốn
- 18. Bộ điều khiển chế độ xem mô hình: Bộ điều khiển hoặc Mô hình có lấy dữ liệu ra khỏi máy chủ không?
- 19. Hình mở rộng toàn bộ chiều rộng của trang trong bài viết hai cột
- 20. Haskell mô hình phù hợp với trường hợp đối xứng
- 21. Bộ điều hợp Android nhiều getView
- 22. Tạo mô hình với trường hợp Scala
- 23. Laravel: Hình thức ràng buộc mô hình và lỗi bộ điều khiển tài nguyên
- 24. Mô hình Backbone.js với bộ sưu tập
- 25. scala: năng suất kết hợp theo hai chiều của hai vòng
- 26. Viết bộ điều hợp ActiveRecord
- 27. Toàn bộ chiều rộng màn hình div
- 28. Tính toán chiều cao mô hình hộp linh hoạt HTML5
- 29. Tại sao có hai lớp học, xem mô hình và mô hình miền?
- 30. Đồng bộ Javascript hai chiều Ràng buộc dữ liệu
là bài tập về nhà này? –
:) không không .. Nó không phải là một bài tập về nhà, tôi đang chuẩn bị cho một cuộc phỏng vấn và mặc dù tôi hiểu được mẫu adapter, tôi không hiểu cách sử dụng bộ điều hợp hai chiều. Tôi đã đề cập đến C++ vì các ví dụ trong cuốn sách này nằm trong Smalltalk mà tôi không biết. – Priyanka
Nhưng các ví dụ trong cuốn sách là tất cả trong C++ hoặc Smalltalk. Tại sao không chỉ nhìn vào mã do GoF đưa ra? Hay là cái được cho trong Smalltalk? Xin lỗi, tôi không có văn bản của tôi ở đây để kiểm tra. – duffymo