Ai đó có thể giải thích một cách đơn giản nhất có thể mô hình Trình xem mô hình xem không? Sự khác nhau với Trình điều khiển Chế độ xem Mô hình là gì? Điều gì là tốt nhất hoặc cho mục đích nào?Trình xem chế độ xem mô hình là gì?
Trả lời
Martin Fowler có một trang trên các mẫu thiết kế giao diện người dùng, trong đó ông định nghĩa và sau đó nói về MVC, MVP và các mẫu khác.
http://martinfowler.com/eaaDev/uiArchs.html
Để tóm tắt sự khác biệt, điều khiển trong MVC có kiểm soát nhiều hơn giao diện người dùng, và xử lý các sự kiện, trong khi một người dẫn chương trình trong MVP là thụ động hơn, và chỉ trình bày thông tin thông qua giao diện người dùng.
Nói chung không có nhiều sự khác biệt và thường là ranh giới giữa chúng bị mờ.
Trình xem chế độ xem mô hình và Trình xem mô hình đều cố gắng giải quyết cùng một vấn đề "tách riêng mối quan tâm".
Sự khác biệt chính mà bạn thấy là Bộ điều khiển chế độ xem mô hình (MVC) thường được thực hiện với một số khớp nối giữa chế độ xem và một số kiểu nhất định - do đó một chế độ xem cụ thể được cung cấp để cung cấp trực quan hóa một đối tượng cụ thể (mô hình).
Trong mô hình Trình xem mô hình, bạn thường thấy rằng Người trình bày quan tâm đến làm việc với mô hình và quyết định thông tin nào cần thiết để tạo ra một số loại trực quan hóa.
Trong sơ đồ này, mũi tên đại diện phụ thuộc:
Thông thường bạn nghe cuộc thảo luận mô hình này đưa ra khi thảo luận về khuôn khổ ASP.NET MVC, và đi qua thông tin liên quan đến mô hình MVP và nó thực hiện trong ASP.NET WebForms. Nó là phổ biến trong kinh nghiệm của tôi rằng người ta tin rằng WebForms là trong và của chính nó một khuôn khổ khuôn khổ MVP - điều này là không đúng sự thật. Tuy nhiên WebForms không làm cho nó rất dễ dàng để thực hiện một mô hình MVP - nguồn lực tốt nhất của bạn này sẽ là để điều tra Factory Phần mềm Web Client từ Patterns và nhóm thực hành:
CodePlex site: http://www.codeplex.com/websf
Một hình màn che phủ lớn chủ đề: http://www.pnpguidance.net/Screencast/MVPBundleScreencastWCSFModelViewPresenterDesignPattern.aspx
Tôi không chắc những mũi tên phụ thuộc đó là đúng. Trong MVC, tại sao Chế độ xem có phụ thuộc vào Mô hình? –
Nó chắc chắn không * có * được, tuy nhiên đây là việc thực hiện phổ biến hơn.Ví dụ, nếu bạn sử dụng ASP.NET MVC, cách thực hành tốt nhất là làm cho "view" của bạn phụ thuộc vào một kiểu (tạo ra một khung nhìn được đánh mạnh). Các triển khai MVC điển hình gửi một mô hình tới một khung nhìn, sau đó cho phép khung nhìn quyết định làm gì với nó (do đó tạo ra một phụ thuộc), trong khi đó trong MVP, View sẽ hỏi người trình bày "Tôi nên đặt dữ liệu nào vào hộp văn bản này". – apiguy
Có triển khai thực hiện rất tốt mẫu này http://www.mvpwebforms.com – hakan
Dolphin Smalltalk đã từng triển khai MVC nhưng sau đó họ di chuyển sang MVP.
Đây là the technical paper mô tả những gì họ đã làm và lý do.
Hệ thống tài năng của IBM cũng đã sử dụng MVP - chúng mô tả những gì và lý do tại sao here.
Fowler tách MVP thành 2 mẫu: Giám sát người xem và Chế độ xem thụ động.
Aviad Ezra có một bài viết hay về chủ đề này http://aviadezra.blogspot.com/2008/10/model-view-presenter-design-pattern.html.
Tôi nghĩ MVP tốt hơn cho máy tính để bàn và MVC dành cho ứng dụng web, vì trong máy tính để bàn, Mô hình có khả năng nâng cao sự kiện
- 1. Trình xem chế độ xem mô hình, cách chuyển đối tượng giữa chế độ xem?
- 2. MVC: Trình điều khiển chế độ xem mô hình - Chế độ xem có gọi là Mô hình không?
- 3. Mô hình chế độ xem chung?
- 4. Sự khác nhau giữa Chế độ xem và Trình điều khiển chế độ xem là gì?
- 5. Chế độ xem trong Oracle là gì?
- 6. gọi phương thức trong mô hình từ chế độ xem
- 7. nhận dữ liệu mô hình cho chế độ xem backbone.js
- 8. Ajax.ActionLink đăng toàn bộ mô hình từ chế độ xem?
- 9. MVC: các mô hình tương tác với chế độ xem?
- 10. Tìm Chế độ xem Backbone.js nếu bạn biết Mô hình?
- 11. Chế độ xemMô hình cho mỗi Chế độ xem hoặc mỗi Mô hình?
- 12. chế độ xem backbonejs không có mô hình
- 13. Thêm chế độ xem của trình điều khiển chế độ xem con vào chế độ xem phụ của bộ điều khiển chế độ xem cha mẹ
- 14. Trong MVVM là DataTemplates được coi là Chế độ xem khi UserControls là Chế độ xem?
- 15. Mô hình chất béo, Chế độ xem gầy và Chế độ xem câm, cách tiếp cận MVVM tốt nhất?
- 16. Hiển thị chế độ xem từ chế độ không xem/chế độ xem trong mvvmcross
- 17. Chế độ xem được ủy quyền hoặc Chế độ xem cấu hình được ủy quyền?
- 18. Mô hình xem không liên kết từ chế độ xem trong loại bỏ
- 19. Ẩn chế độ xem trong trình tạo giao diện khi có nhiều chế độ xem
- 20. ASP.NET MVC: Bạn lắp ráp mô hình xem ở đâu cho chế độ xem?
- 21. Định vị chế độ xem dưới hai chế độ xem (hoặc chế độ xem thấp nhất)
- 22. Trình giải quyết chế độ xem Spring 3 mặc định là gì?
- 23. "Chế độ xem nội dung" của UIScrollView là gì?
- 24. SlickGrid Chế độ xem dữ liệu là gì?
- 25. Các chế độ xem trong MySQL là gì?
- 26. Bộ lọc chế độ xem Zend là gì?
- 27. Chế độ xem hình ảnh Android * FIT_TOP *
- 28. Cách lập trình Thêm lượt xem vào chế độ xem
- 29. Chuyển hình ảnh từ một chế độ xem sang một chế độ xem khác
- 30. Tải chế độ xem trong một chế độ xem khác
Trong cả hai trường hợp, bạn tham gia vào các mô hình và điều đó là tốt Điều. –