chỉ tôi muốn biết sự khác biệt thực sự giữa MVC và MVC MODEL2 trong sự phát triển là gì là gìsự khác biệt thực sự giữa MVC và MVC MODEL2
Trả lời
Để minh họa cho câu trả lời trước (và thêm lời giải thích từ this article):
MVC2 là một abuse of language ám chỉ thực sự đến kiến trúc JSP Model 2, như trái ngược với JSP mẫu 1:
Công nghệ Java đầu tiên cho sự phát triển phía máy chủ web là servlet.
Viết các ứng dụng với servlet rất giống với việc viết các ứng dụng CGI trong Perl trong đó tất cả các đầu ra phải được xây dựng thành các chuỗi từ bên trong mã Java.
Điều này rất tẻ nhạt và dễ bị lỗi. Nó cũng làm cho nó rất khó khăn cho các nhà thiết kế web không có kinh nghiệm Java để thay đổi giao diện của các trang được tạo ra bởi servlet.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL1_sml.gif
Sau đó, đến JSP. JSP, giống như Microsoft ASP và giống như ngôn ngữ kịch bản phổ biến PHP, xử lý mọi thứ dưới dạng văn bản mẫu, nhưng cho phép chèn mã Java vào các thẻ được gọi là tập lệnh và biểu thức JSP.
Điều này cho phép mọi người làm việc trên các ứng dụng phía máy chủ giống như với các ngôn ngữ kịch bản phổ biến khác nhưng nó có một vài hạn chế.
- Không có sự phân tách nào.
- Một tập lệnh sẽ giữ mã cơ sở dữ liệu, logic nghiệp vụ, đánh dấu HTML và bất kỳ mã javascript nào cần thiết để hiển thị trang cuối cùng.
- Sử dụng lại mã khó khăn như thử nghiệm tự động.
Điều này được gọi là lập trình JSP "Mô hình 1".
MVC or the Model View Controller pattern là một kỹ thuật phổ biến để tách các mối quan tâm khác nhau trong mã GUI được phát minh bởi Trygve Reenskaug, làm việc trên Smalltalk cho Zerox.
Tại một số điểm, rõ ràng là kỹ thuật này có thể được điều chỉnh cho phù hợp với các ứng dụng Java EE để đạt được cùng một mức độ tách biệt.
Làm như vậy liên quan đến việc viết lớp Mô hình dưới dạng Beans hoặc Plain Old Java Objects (POJOs), sử dụng servlets làm Controller, và sau đó, khi tất cả việc nâng hạng nặng được thực hiện, chuyển tiếp đến JSP để định dạng và đánh dấu kết quả.
Các ứng dụng Servlet/JSP được viết bằng cách sử dụng và kiến trúc MVC được gọi là lập trình JSP Model 2.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL2_sml.gif
Bởi vì mô hình này tồn tại trong một hình thức khác nhau trước khi được sử dụng trong servlet/JSP ứng dụng, người ta đôi khi được gọi là "MVC2". Tên này dẫn đến một số nhầm lẫn vì nó ngụ ý rằng có một MVC1 cho các ứng dụng servlet, mà không có.
Đủ để nói MVC.
Thanx cho an gooooooood ans, tôi phải hài lòng hình thức trả lời ur –
@Ashvin Bạn được chào đón – VonC
@VonC - Nó không phải là một ý tưởng tốt để sao chép mà không đưa ra một tham chiếu. Vui lòng cung cấp tham chiếu trong bài đăng gốc của bạn. Cảm ơn. –
Một lưu ý lịch sử thú vị về các điều khoản ...
[Tôi ước gì có thể tìm thấy giấy ... (Tôi chỉ cố gắng googling nhưng không có may mắn!)]
Một khi trở lại, ai đó đã viết một bài báo mô tả hai phương pháp tiếp cận MVC cho các ứng dụng web. Trong đó, anh có hai con số.
Phụ đề là "model 1" và "model 2".
Họ không có ý định như tên thực tế của mô hình (giống như "con số 1" và "hình 2"), nhưng ai đó đọc nó và viết về nó như thể đó là một tên mô hình ...
(ai có ref?)
VonC mô tả sự khác biệt khá tốt
Thú vị (+1). Tôi chỉ đơn thuần là sao chép và định dạng lại và bài viết javaworld. Về nhận xét của bạn, bản trình bày này (http://www.javapassion.com/j2ee/MVCPatternAndFrameworks.pdf) không đề cập đến "MVC model 1" và "MVC model 2"! (nhưng đó có thể là sản phẩm phụ của giấy của bạn chứ không phải tài liệu thực tế bạn đang tham khảo) – VonC
Arf, trong "bảng câu trả lời" này (http://csdl.ics.hawaii.edu/~johnson/613s05 /613s05FinalAnswerKey.pdf), Mô hình MVC “1” hướng tới các ứng dụng phía máy khách, chẳng hạn như ứng dụng GUI dựa trên Swing. Trong trường hợp này, tất cả các mã ứng dụng tồn tại trong một JVM duy nhất trên một máy khách duy nhất. Mô hình MVC “2” được định hướng theo ngữ cảnh ứng dụng web máy khách-máy chủ, trong đó người dùng đang phát hành yêu cầu HTTP tới máy chủ. Ngược lại với Model 1, kiến trúc Model 2 yêu cầu thực hiện một servlet đơn hoạt động như Controller và nhận tất cả các yêu cầu từ các trình duyệt phía máy khách. – VonC
Trình chiếu slide đó gần, nhưng nó gọi ra Model 1/Model 2 như thể chúng là các thuật ngữ thực tế ... "Model 2" không thực sự là một bước tiến hóa như họ nói; nó chỉ là một cách thực hiện khác nhau về tách mô hình/giao diện người dùng. –
- 1. sự khác biệt giữa MVP MVC và MVVM
- 2. Sự khác biệt giữa ApiController và Controller trong ASP.NET MVC
- 3. Asp.NET MVC - Sự khác biệt giữa ViewPage và lớp WebViewPage
- 4. Sự khác biệt giữa ASP.NET và ASP.NET MVC là gì?
- 5. Sự khác biệt giữa ASP.NET MVC 3 và 4?
- 6. ASP.NET MVC 2.0 - Sự khác biệt giữa RenderPartial và RenderAction
- 7. Sự khác biệt giữa viewbag và viewstate?
- 8. Sự khác biệt giữa MvcHtmlString.Create() và Html.Raw()
- 9. Sự khác biệt giữa WebApiConfig.cs và RouteConfig.cs
- 10. Sự khác biệt giữa window.location.href và top.location.href
- 11. Sự khác nhau chính giữa API Web và ASP MVC
- 12. Sự khác nhau giữa MVC 2 và MVC3
- 13. Sự khác biệt thực sự giữa "int" và "unsigned int"
- 14. Sự khác biệt giữa Window.load và document.readyState
- 15. sự khác biệt giữa HttpResponseException và HttpException
- 16. Sự khác biệt giữa $ * và $ @
- 17. Sự khác biệt giữa $ (...) và `...`
- 18. Sự khác biệt giữa. và #
- 19. Sự khác biệt giữa ". +" Và ". +?"
- 20. Sự khác biệt giữa "**/* /" và "** /"?
- 21. Sự khác biệt giữa = và: =
- 22. Sự khác biệt và tương đồng giữa MVC và MVVM là gì?
- 23. Sự khác biệt giữa Html.TextboxFor và Html.EditorFor trong MVC và Razor
- 24. Sự khác biệt giữa dịch vụ ASP.NET MVC 4 Web Api và REST cổ điển
- 25. ASP.NET MVC: Sự khác biệt về khái niệm giữa Dịch vụ và Kho lưu trữ
- 26. Sự khác biệt giữa bộ điều khiển MVC và logic nghiệp vụ (3 tầng)
- 27. Sự khác biệt giữa MVC và Xem Cách tiếp cận đầu tiên trong phát triển web
- 28. Có sự khác biệt nào giữa Url.Content ("~/...") và "~ /" cho các url trong ASP.NET MVC không?
- 29. Sự khác biệt giữa một phần VIews và điều khiển người dùng trong MVC
- 30. Sự khác biệt giữa trang MVC 3 Partial Page (Razor) và MVC 3 View với Layout (Razor)?
Một Giải thích tốt có thể được tìm thấy tại –
VolkerK
Tôi tin rằng 2 liên kết này chứa thông tin thực tế bạn đang cố gắng tìm hiểu: [Model1] (http://en.wikipedia.org/wiki/Model_1), [Model2] (http://en.wikipedia.org/wiki/M odel_2) –