Tôi đã đọc trực tuyến về các mẫu MVC, MVP cho thiết kế giao diện người dùng. Nhưng, tôi hoàn toàn không thể hiểu được nó hoạt động như thế nào ngay cả sau khi đọc lại nó vài lần. Tôi sử dụng C#/winforms để phát triển. Ai đó có thể chỉ cho tôi một cuốn sách/blog/trang web tốt không? Một cái gì đó sẽ làm cho tôi quyết định nếu tôi nên chấp nhận nó hay không. Cảm ơn.sử dụng mẫu MVC MVP trong biểu mẫu thắng
Trả lời
Tôi thực sự nghĩ rằng Wikipedia's page on MVC có tổng quan rất tốt về kiến trúc Bộ điều khiển kiểu xem.
Bạn có thể thực hiện MVC bằng Windows Forms và C#, nhưng khó hơn so với các nền tảng khác. MVC là tất cả về việc tách mối quan tâm - và có thể sử dụng được với bất kỳ nền tảng nào. Tuy nhiên, một số nền tảng làm cho điều này dễ dàng hơn nhiều so với các nền tảng khác.
Bí quyết "để làm điều này hoạt động tốt trong ứng dụng Windows Forms là đảm bảo có sự tách biệt rõ ràng các mối quan tâm về cách bạn thiết kế biểu mẫu của mình. Cố gắng giữ một số sự tách biệt giữa xử lý sự kiện (bộ điều khiển), thiết kế biểu mẫu và bố trí (xem), và logic nghiệp vụ và thiết kế (mô hình). Thiết kế cơ bản của các hình thức cửa sổ không rõ ràng buộc hoặc hướng dẫn bạn để có sự tách biệt này, do đó, nó sẽ chỉ được vào bạn để giữ những điều riêng biệt.
Điều khó khăn nhất trong các biểu mẫu Windows là giữ cho khung nhìn và bộ điều khiển nhận được quá phụ thuộc lẫn nhau. Các nhà thiết kế WinForm tự nhiên đặt tất cả các sự kiện xử lý vào cùng một lớp như hình thức, do đó, thật dễ dàng để có được hai điều gắn liền với nhau. Bạn sẽ phải giữ sự tách biệt đó tại chỗ, nếu bạn muốn theo dõi các mô hình kiến trúc MVC của lớp.
Kiểm tra một số these videos qua tại PolymorphicPodcast. Ông làm một công việc tốt để mô tả các mẫu MV * và đưa ra các ví dụ vững chắc về mỗi mẫu. Cụ thể, hãy xem winforms video.
+1 cho podcast. Tôi nghĩ khi xem họ là khi thiết kế đầu tiên thực sự bấm vào cho tôi. –
Làm thế nào về this SO bài đăng. Điều này có một cái nhìn tổng quan tốt về điều đó.
Bắt đầu bằng cách đọc Martin Fowler's comparative article on different GUI Architectures. Nó bao gồm MVC (như MVP được sử dụng để được gọi) và rất nhiều thông tin hữu ích khác sẽ giúp đỡ để khung các khái niệm cho bạn.
Tôi vừa viết một bài viết blog về cách sử dụng mẫu MVP Passive View.
http://coding.infoconex.com/post/(MVP)-Model-View-Presenter-Passive-View.aspx
Tìm kiếm phản hồi nếu tôi gặp bất kỳ điều gì sai.
- 1. Cách sử dụng UiHandler trong mẫu MVP
- 2. Cách tải biểu mẫu bên trong biểu mẫu khác trong ứng dụng giành chiến thắng
- 3. Mẫu MVP sử dụng biểu mẫu web và phân giải đối tượng DI
- 4. Mẫu MVC/MVP winforms Ứng dụng (không tầm thường)
- 5. thay đổi theo dõi trong biểu mẫu chiến thắng C#
- 6. Nhúng Trình xem PowerPoint vào C# Biểu mẫu Chiến thắng
- 7. Mẫu biểu mẫu Django sử dụng biểu mẫu.ModelMultipleChoiceField
- 8. thiết kế ứng dụng biểu mẫu giành chiến thắng đẹp trong C#
- 9. Sự khác nhau giữa bộ điều khiển trong mẫu MVC và trình bày trong mẫu MVP là gì?
- 10. Mẫu động MVC 3 Sử dụng ViewModel
- 11. phương thức Mẫu trong asp.net MVC RC sử dụng jquery
- 12. Mẫu MVC + mẫu DDD
- 13. MVC asp.net: Gửi nhiều biểu mẫu
- 14. Mẫu đăng bài không có @ HTML.Biểu mẫu và sử dụng Jquery (ajax) trong asp.net MVC
- 15. Biểu mẫu khách hàng gửi ngày giờ, ứng dụng MVC
- 16. Cách sử dụng Mẫu biểu thức
- 17. Sử dụng FOSRestBundle với các biểu mẫu
- 18. Sử dụng Biểu mẫu Windows với Ruby
- 19. Có cách nào được khuyến nghị sử dụng mẫu Observer trong MVP bằng GWT không?
- 20. Dừng biểu mẫu gửi, sử dụng Jquery
- 21. Trường biểu mẫu Django sử dụng SelectDateWidget
- 22. Xác thực biểu mẫu tùy chỉnh trong MVC
- 23. xác thực trong MVC/MVP
- 24. Nhiều Biểu mẫu trong cùng một trang ASP.net MVC
- 25. Sử dụng công cụ định tuyến để gửi biểu mẫu trong ASP.NET MVC Preview 4
- 26. Formatting tệ sử dụng mẫu trưng bày trong MVC
- 27. ASP.NET MVC Mẫu repopulation
- 28. Biểu mẫu giành chiến thắng, đăng nhập tất cả các nhấp chuột?
- 29. Mẫu biểu mẫu Windows chung
- 30. Cách sử dụng xác thực biểu mẫu trong Drupal 7
Tham gia câu lạc bộ :-). Nó có thể hơi khó hiểu ... –
Tôi cũng rất quan tâm đến chủ đề này. Tôi có thể thấy những lợi thế nếu bạn cần ứng dụng chạy trong các môi trường khác nhau, nhưng tôi không thấy lợi thế khác. – smack0007