Tôi đã đọc về chúng và chúng khá nổi bật trong thế giới .NET. Tại sao không có bất kỳ khung công tác web nào triển khai bất kỳ mẫu nào trong các mẫu này trong Ruby, Python hoặc PHP? Có phải vì nó chỉ hoạt động với các khung công tác dựa trên thành phần, như ASP.NET? Hay họ chỉ chậm chạp chấp nhận nó?Tại sao các mẫu MVP và MVVM không được thấy trong Ruby, Python hoặc PHP?
19
A
Trả lời
18
Điều cần nhớ là đây là các mẫu kiến trúc - không phải khung. Khung chỉ "giúp" thực hiện mẫu, nhưng có thể thực hiện mẫu bằng bất kỳ công nghệ nào, miễn là nó chứa các yêu cầu chính xác cho mẫu đó.
MVP hiện diện bằng các ngôn ngữ khác. Đó là một mô hình hoạt động khi sử dụng với Python với PyQt, ví dụ.
MVVM, tuy nhiên, thực sự phụ thuộc vào một số tính năng độc đáo đối với WPF và Silverlight - đáng chú ý nhất là các tính năng ràng buộc dữ liệu khá độc đáo trong các công nghệ này. Mặc dù nó có khả năng (có khả năng) để sửa đổi điều này cho các ngôn ngữ và kiến trúc khác, nó đã không được thực hiện tại thời điểm này, theo hiểu biết của tôi.
Các vấn đề liên quan
- 1. sự khác biệt giữa MVP MVC và MVVM
- 2. Tại sao (python | ruby) được giải thích?
- 3. Có khung MVVM/MVP/MVC tốt cho JavaFX không?
- 4. XCode 3.2 Các mẫu Ruby và Python
- 5. Coroutines hoặc tiếp tục cho lập trình Web bằng Python và Ruby. Tại sao không?
- 6. Dịch vụ web: PHP hoặc Ruby on Rails hoặc Python?
- 7. MVP trong Winforms
- 8. MVP, Winforms - EventHandlers hoặc Delegates
- 9. Hướng dẫn tổng hợp cho WPF: MVVM vs MVP
- 10. Tại sao PHP không gặp lỗi "Không tìm thấy lớp"?
- 11. Tại sao mẫu Borg tốt hơn mẫu Singleton trong Python
- 12. Tại sao ADL không tìm thấy mẫu chức năng?
- 13. Thông báo cho người dùng cuối về ngoại lệ trong Winforms-MVP và WPF-MVVM
- 14. MVP/MVVM - Lọc danh sách, ai có trách nhiệm?
- 15. MVC/MVP/MVVM - Cách sắp xếp logic nghiệp vụ
- 16. Tại sao Python không thể tìm thấy các đối tượng được chia sẻ trong các thư mục trong sys.path?
- 17. Tại sao MVVM và lợi ích cốt lõi của nó là gì?
- 18. Tại sao knitr không thể tìm thấy framed.sty hoặc kpsewhich?
- 19. Cách sử dụng UiHandler trong mẫu MVP
- 20. Tại sao các phát biểu khác không được khuyến khích trong Ruby?
- 21. Tại sao php không chạy?
- 22. Tại sao nếu/else so với hoặc/thoát trong PHP?
- 23. Ruby: Tại sao 'và không' hoạt động khi '&&! (Expr)' không?
- 24. Có cách nào được khuyến nghị sử dụng mẫu Observer trong MVP bằng GWT không?
- 25. sử dụng mẫu MVC MVP trong biểu mẫu thắng
- 26. Tại sao Puppet và Chef sử dụng Ruby?
- 27. Mẫu MVVM với PySide
- 28. Tại sao không tìm thấy tập lệnh Ruby trong đầu vào (LoadError)?
- 29. Tại sao GetProperty không tìm thấy?
- 30. Tại sao các ngôn ngữ động như Ruby và Python không có khái niệm về giao diện như trong Java hoặc C#?
+1 Vote - cũng ở đây là ví dụ từ ruby - Jay Fields trên Presenter http://blog.jayfields.com/2007/03/rails-presenter-pattern.html – house9
"MVVM, tuy nhiên, thực sự phụ thuộc vào một số tính năng độc đáo đối với WPF và Silverlight - đáng chú ý nhất là các tính năng ràng buộc dữ liệu khá độc đáo trong các công nghệ này. " Tôi không nghĩ điều này đúng nữa. Các khung Javascript như Ember Data và Meteor có ràng buộc dữ liệu. –
@BSeven Có - rất nhiều thay đổi trong 4.5 năm;) Điều đó đang được nói, cách các công trình ràng buộc dữ liệu có phần khác nhau, vì vậy, IMO, "MVVM" trong JS đất thực sự là một chút khác nhau của một con thú so với trong WPF/Silverlight. –