Tôi đang cố gắng phát triển một Hệ thống quản lý dự án trong ứng dụng của mình theo mẫu Model View Presenter (MVP). Câu hỏi của tôi là điều này, tôi đã thấy rất nhiều ví dụ về MVP nhưng tôi đã không nhìn thấy một với một Presenter và nhiều lần xem. Ví dụ: khi người dùng mở một dự án, cùng một dữ liệu dự án có thể được xem bằng treeview, biểu dữ liệu và biểu đồ. Làm thế nào để đối phó với điều đó?Winforms MVP với nhiều chế độ xem và một người trình bày
Trả lời
Để làm cho mã được tách riêng và dễ bảo trì, tôi khuyên bạn nên có một người trình bày cho mỗi Chế độ xem ngay cả khi chúng trông rất giống nhau: để mỗi chế độ xem sẽ có logic trình bày riêng. Nếu bạn có cùng dữ liệu cần được hiển thị trên nhiều chế độ xem, bạn có thể chia sẻ Chế độ xem giữa người thuyết trình nhưng một lần nữa tôi khuyên bạn nên sử dụng mô hình xem khác nhau cho từng người trình bày (ngay cả khi họ rất giống nhau)
Cách bạn thực hiện, là trừu tượng chế độ xem của bạn bằng cách đặt nó sau giao diện và sau đó kết nối người trình bày với triển khai cụ thể chế độ xem của bạn.
Điều đó nói rằng, tôi không chắc chắn bạn sẽ bao giờ muốn làm điều đó trong thế giới thực. Sự khác biệt giữa giao dịch với chế độ xem dạng cây so với biểu đồ có nghĩa là bạn sẽ kết thúc việc khái quát hóa mọi thứ trong giao diện xem của mình và viết nhiều mã lộn xộn để bạn thực hiện hợp đồng.
Tôi khuyên bạn nên giữ người trình bày của mình xem tỷ lệ 1: 1. Nếu bạn muốn nhiều lượt xem trên cùng một dữ liệu thì đó là mô hình của bạn mà bạn nên chia sẻ trên các diễn giả, vì vậy bạn đang hiển thị cùng một dữ liệu theo các cách khác nhau.
Bạn hầu như luôn luôn có một cá thể người trình bày cho mỗi trường hợp xem.
Giả sử bạn mở CustomerView và CustomerViewPresenter của nó. Đó là một ví dụ của mỗi.
Bạn mở một CustomerView khác và một phiên bản CustomerViewPresenter khác. Đó là hai trường hợp của mỗi.
Điều đó không có nghĩa là người trình bày nhất định luôn phải sử dụng cùng một chế độ xem, thực tế là không nên. Người trình bày nên nói chuyện với một giao diện xem. Bạn có thể hoán đổi chế độ xem thực cho chế độ xem giả để thử nghiệm.
- 1. MVP và trình bày chi tiết
- 2. Mẫu MVP, số lượt xem cho người trình bày?
- 3. MVP Chế độ xem thụ động - Số lần xem tổng hợp & Trình bày tổng hợp
- 4. MVP trong Winforms
- 5. MVP, Winforms - EventHandlers hoặc Delegates
- 6. Trách nhiệm của chế độ xem instantiating trong MVP
- 7. Câu hỏi chung về mô hình xem-người trình bày (C#), mô hình có nên biết người trình bày không?
- 8. Trình bày chế độ xem phương thức khác từ UIImagePickerController
- 9. Trình xem chế độ xem mô hình, cách chuyển đối tượng giữa chế độ xem?
- 10. Bật chế độ trình bày trong Windows?
- 11. Nhiều Chế độ xem được liên kết với một chế độ xem
- 12. iOS - UISplitViewController với bảng phân cảnh - nhiều chế độ xem chính và nhiều chế độ xem chi tiết
- 13. Liên kết nhiều chế độ xem với nhiều chế độ xem
- 14. Làm thế nào để trình bày một nửa màn hình chế độ xem?
- 15. Ẩn chế độ xem trong trình tạo giao diện khi có nhiều chế độ xem
- 16. MVP: Chế độ xem có nên triển khai giao diện của Người thuyết trình hay ngược lại không?
- 17. Thông báo cho người dùng cuối về ngoại lệ trong Winforms-MVP và WPF-MVVM
- 18. Nhiều PickerViews trong một Chế độ xem?
- 19. Trình bày bộ điều khiển xem với độ trong suốt và hoạt ảnh
- 20. Nhiều người trong nhiều chế độ xem và bộ điều khiển asp.net mvc
- 21. Android: Nhiều chế độ xem cho chế độ xem tùy chỉnh với bố cục hiện tại
- 22. KnockoutJS - Nhiều chế độ xem một phần trong chế độ xem chính?
- 23. MVC - Cùng một URL, nhiều chế độ xem
- 24. Làm thế nào để cấu trúc một dự án trong Winforms bằng cách sử dụng mô hình MVP?
- 25. Tải chế độ xem trong một chế độ xem khác
- 26. Sự khác nhau giữa Chế độ xem và Trình điều khiển chế độ xem là gì?
- 27. MVP - Có bao nhiêu diễn giả
- 28. Đang tải các bản xem trước với MVP
- 29. Không thể thay đổi kiểu trình bày và chuyển đổi của chế độ xem phương thức trong Xcode (iPad)
- 30. Đăng biểu mẫu có nhiều chế độ xem một phần
Vì vậy, bạn tin rằng mặc dù có sự trùng lặp mã thì tốt hơn là nên thực hiện theo cách đó. Tôi cũng có sử dụng mẫu người quan sát để cập nhật tất cả các chế độ xem có liên quan không? – Dimitris
nếu các trang chính xác giống nhau nhưng bạn chỉ hiển thị "một nhãn khác" trên mỗi trang, bạn có thể tạo một người trình bày, một mô hình và một chế độ xem. Người trình bày sẽ chứa logic để hiển thị giao diện người dùng phù hợp. Mỏ là câu trả lời chung –