2010-04-20 29 views
19

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?

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.

+3

+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

+0

"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. –

+0

@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. –

Các vấn đề liên quan