2009-07-30 50 views
7

Bản sao có thể xảy ra:
What are MVP and MVC and what is the difference?
mvc and mvp patternLợi ích của MVC qua MVP

Folks,

gì là một số trong những lợi ích của việc sử dụng MVC qua MVP? Tôi thích rằng tôi không phải sử dụng một framework cho MVP và có thể được thực hiện thông qua các giao diện và các lớp. Tôi vẫn nhận được sự tách biệt các mối quan tâm mà MVC có và tôi nhận được kiểm tra đơn vị. Một số lợi ích của việc sử dụng MVC trên MVP là gì?

Trả lời

5

Tôi thậm chí còn không nhận thức được "MVP" nhưng Haack [tràn] có một bài viết tìm kiếm khá tốt ...

Everything You Wanted To Know About MVC and MVP But Were Afraid To Ask

Tại rủi ro mà Haack khối băng hình ảnh liên quan ... Haack nói sự khác biệt là rõ ràng :) alt text http://haacked.com/images/haacked_com/WindowsLiveWriter/MVCandMVPPatternResources_71CE/WinMerge%20-%20%5BMVP.txt%20-%20mvc.txt%5D_3.png

+0

Hài hước- Tôi chưa từng thấy điều đó trước đây. – RichardOD

1

Kể từ khi tôi đã được xem xét kỹ lưỡng bởi ý kiến ​​của tôi về bản sao, tôi sẽ chỉ cần tham khảo này SO câu hỏi và để lại nó vào "quyền hạn cao hơn" để đóng nếu họ thấy phù hợp: P
What are MVP and MVC and what is the difference?

0

Mọi người cũng bị treo lên khi viết tắt và đôi khi là TLA.

Nếu những gì Phil Haack nói trong bài viết của mình là đúng, tôi nghĩ tôi đã sử dụng MVC trong ASP.NET MVC, nhưng những gì tôi thực sự sử dụng là MVP (hoặc một dạng tinh chỉnh của MVC).

Với MVC, luôn có trách nhiệm xử lý các sự kiện bàn phím và của bộ điều khiển. Với chính MVP, GUI các thành phần ban đầu xử lý thông tin nhập của người dùng, nhưng ủy quyền cho việc giải thích đầu vào đó cho người trình bày .

Nhưng đó không phải là những gì ASP.NET MVC thực sự là tất cả.

Nếu tôi xử lý các sự kiện chuột và bàn phím, tôi thích làm điều đó trong trình duyệt với jQuery. Điều đó tách tương tác của người dùng khỏi bộ điều khiển và cung cấp cách tách tốt hơn giữa lớp giao diện người dùng và lớp "doanh nghiệp".

Nếu tôi cần cập nhật một phần của trang bằng cách sử dụng cuộc gọi AJAX hoặc cuộc gọi JSON, tôi vẫn sẽ cần thực hiện điều đó, dù tôi gọi nó là MVC hay MVP.

ASP.NET WebForms, ví dụ, cố gắng bắt chước những người giàu khách hàng phát triển mô hình thông qua việc sử dụng các ViewState. Đây là lý do tại sao nhiều nỗ lực để áp dụng các mẫu cho ASP.NET tập trung vào mẫu MVP vì mẫu MVP phù hợp hơn cho ứng dụng khách phong phú với các thành phần GUI .

Tuy nhiên, nhiều nền tảng web ôm tính chất quốc tịch của web và bỏ cố gắng để mô phỏng một phát triển khách hàng giàu môi trường nhà đầy đủ. Trong các hệ thống như vậy, một mẫu MVC được chỉnh được áp dụng nhiều hơn .

Rõ ràng là quan điểm của Phil (một dạng tinh chỉnh) MVC là di chuyển đến một khách hàng không trạng thái hơn, trong khi MVP đặt trách nhiệm nhiều hơn vào lớp giao diện người dùng để cung cấp trải nghiệm người dùng phong phú.

Đây có phải là điều tốt hay không là chủ quan. Nếu ASP.NET là MVP và ASP.NET MVC là MVC, tôi sẽ sẵn sàng chấp nhận các bản nhạc đầu tiên của MVC để từ bỏ những thứ như logic tuyến tính và ngược đãi.

+0

Điều gì sẽ xảy ra nếu toàn bộ lý do bạn đang cố gắng quyết định là bạn muốn sử dụng một số lớp kinh doanh cho phiên bản web và phiên bản ứng dụng khách dày ;-) aaak – FastAl

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