Logo vi.removalsclassifieds.com

Sự khác biệt giữa MVC và MVC2 (Với Bảng)

Mục lục:

Anonim

Nếu có bất kỳ vấn đề nào trong quá trình phát triển phần mềm thì mẫu thiết kế của nó là giải pháp chính để khắc phục điều này. Chúng giống như các bản thiết kế được xác định trước mà chúng tôi sử dụng để giải quyết các vấn đề thiết kế hướng đối tượng trong dự án của bạn. Đầu tiên nó tìm ra vấn đề ở đâu và sau đó khắc phục nó và cũng mô tả quy trình và hậu quả của nó. MVC và MVC2 là hai cách tiếp cận khác nhau đối với mẫu kiến ​​trúc MVC (Model View Controller) nổi tiếng.

MVC so với MVC2

Sự khác biệt giữa MVC và MVC2 là MVC là một mô hình thiết kế ứng dụng bao gồm ba phần được kết nối với nhau trong khi MVC2 là một mô hình phức tạp hơn trong đó việc tách trạng thái Ứng dụng và Logic điều khiển trình bày được thực hiện. MVC bao gồm mô hình (dữ liệu), chế độ xem (giao diện người dùng) và bộ điều khiển (yêu cầu quy trình). Một sự khác biệt chính giữa MVC và MVC2 là độ phức tạp. Trong các ứng dụng web của thế giới Java, hai mô hình thiết kế phổ biến (Mô hình 1 và Mô hình 2) có liên quan chặt chẽ đến MVC và thường được gọi nhầm là MVC1 (hoặc chỉ MVC) và MVC2.

MVC là cách tiếp cận thế hệ đầu tiên trong các ứng dụng web Java trong đó các trang JavaServer Page (JSP) được sử dụng cho giao diện người dùng cùng với JavaBeans có thể đóng gói nhiều đối tượng trong một đối tượng duy nhất để triển khai kiến ​​trúc MVC. Các yêu cầu của người dùng từ trình duyệt được gửi đến JSP giữ logic Bộ điều khiển và liên kết Mô hình cho dữ liệu sẽ cập nhật chế độ xem và gửi phản hồi trở lại người dùng được hiển thị trong giao diện người dùng. Cách tiếp cận này kết hợp chức năng Controller và View trong một trang JSP và do đó phá vỡ mô hình MVC.

MVC2 được Sun Microsystem org giới thiệu như một mẫu thiết kế không phá vỡ mô hình MVC, không giống như MVC, nơi logic nghiệp vụ được tách biệt khỏi các chế độ xem và tất cả các yêu cầu của khách hàng được xử lý tại một nơi chứ không phải trong mỗi tệp JSP trong MVC. Trong mẫu MVC2, JSP được thay thế bằng các servlet cho logic bộ điều khiển.

Bảng so sánh giữa MVC và MVC2

Tham số so sánh

MVC

MVC2

Sự định nghĩa

Trong MVC, một thành phần duy nhất chịu trách nhiệm nhận yêu cầu và gửi phản hồi. Trong MVC2, có nhiều thành phần để nhận yêu cầu và gửi phản hồi. tức là Bộ điều khiển & Chế độ xem.
dẫn đường

Trong MVC, mỗi JSP có một bộ điều khiển và logic chế độ xem xác định điều hướng của trang xem tiếp theo khiến nó được phân phối lại Trong MVC2, servlet chứa logic điều hướng của trang xem tiếp theo làm cho nó tập trung
Mất thời gian

Mất nhiều thời gian hơn để viết mã để phát triển các thẻ JSP tùy chỉnh để tránh thẻ scriptlet Mất ít thời gian hơn để phát triển vì tất cả điều khiển điều hướng được tập trung.
Tính độc lập

Logic kinh doanh và trình bày Logic được kết hợp trong JSP, vì vậy nhà thiết kế web và nhà phát triển web không thể làm việc đồng thời. Vì nó có sự tách biệt giữa logic và chế độ xem, đó là lý do tại sao nhà thiết kế và nhà phát triển có thể làm việc cùng nhau.
Khả năng sử dụng lại

Khó sử dụng lại và mở rộng hơn vì sự kết hợp chặt chẽ giữa logic và chế độ xem Dễ dàng sử dụng lại và mở rộng, phù hợp với các ứng dụng lớn hơn

MVC là gì?

MVC là một mẫu thiết kế kiến ​​trúc cho các vấn đề lặp đi lặp lại trong thiết kế phần mềm cung cấp cách tiếp cận mô tả cấp cao cho giải pháp. Kiến trúc MVC có ba mô-đun: mô hình, khung nhìn và bộ điều khiển.

Mô hình: Nó đại diện cho trạng thái của dữ liệu (được hiển thị cho người dùng trên trang xem).

Quang cảnh: Mô-đun khung nhìn là giao diện người dùng mà qua đó người dùng thực hiện hành động và giao tiếp nội bộ với máy chủ.

Bộ điều khiển: Mô-đun bộ điều khiển xử lý yêu cầu của người dùng, logic nghiệp vụ và với sự trợ giúp của một mô hình thao tác dữ liệu được hiển thị trong giao diện người dùng.

MVC bắt đầu với JSP chấp nhận yêu cầu máy khách hoạt động cùng với JavaBeans cho logic xử lý dữ liệu được gửi đến máy khách. Công việc được phân chia giữa JavaBeans và JSP trong đó JSP gọi JavaBeans và logic nghiệp vụ trong đó JavaBeans gọi nội bộ cơ sở dữ liệu để lưu / lấy dữ liệu. Cuối cùng, JSP gửi lại phản hồi cho máy khách cập nhật chế độ xem trong trình duyệt.

JavaBeans còn được gọi là Beans chịu trách nhiệm đóng gói nhiều đối tượng thành một đối tượng duy nhất trong khi JSP có cả logic Controller và View. MVC còn được gọi là tập trung vào trang vì nó có quyền truy cập trực tiếp vào một trang xem khác, lý tưởng cho các ứng dụng nhỏ hơn.

MVC2 là gì?

Hầu hết các kỹ sư phần mềm cho rằng MVC2 là một phiên bản cải tiến của MVC, giống như phiên bản 2.0; nó không phải. Mô hình 1 và Mô hình 2 được phát triển đồng thời và là hai biến thể về cách mọi thứ nên được thực hiện.

MVC2 là một mẫu phức tạp hơn trong đó việc tách trạng thái Ứng dụng và Logic điều khiển trình bày được thực hiện. Nó có một bộ điều khiển trong đó logic đã được viết để xử lý tất cả các yêu cầu đến và hành động bắt buộc cần được thực hiện, như điều hướng đến một trang xem khác hoặc cập nhật trạng thái của Mô hình.

Ở đây, trong MVC2, servlet đóng vai trò là lớp điều khiển, cũng là giao diện giữa lớp Xem và lớp Mô hình, trong đó nó nhận yêu cầu từ giao diện khách hoặc giao diện Người dùng không là gì khác ngoài lớp xem và xử lý chúng với xác nhận thích hợp nếu cần. JSP có logic khung nhìn sử dụng bên trong Beans, vì vậy nếu các servlet cập nhật trạng thái của mô hình, nó sẽ được phản ánh trong trang xem.

Không giống như MVC, JSP trong MVC2 không có cả bộ điều khiển và logic chế độ xem; trách nhiệm duy nhất của nó là lấy trạng thái cập nhật của mô hình từ servlet đó để hiển thị trên Trang xem.

Sự khác biệt chính giữa MVC và MVC2

Chúng tôi thường nhầm lẫn MVC2 là phiên bản 2.0 của MVC, tuy nhiên, không phải vậy, đó là các mô hình thiết kế Java trong đó kiến ​​trúc MVC2 phức tạp hơn và phù hợp nhất cho các ứng dụng lớn hơn.

Yếu tố phân biệt giữa quan hệ MVC và MVC2 có thể được tóm tắt dựa trên các cơ sở sau:

  1. Trong MVC, một thành phần duy nhất chịu trách nhiệm nhận yêu cầu và gửi phản hồi nhưng trong MVC2, có nhiều thành phần để nhận yêu cầu và gửi phản hồi. tức là Bộ điều khiển & Chế độ xem.
  2. MVC1 kết hợp chặt chẽ logic trình bày với logic nghiệp vụ nhưng MVC 2 tách biệt hoặc tách logic trình bày khỏi logic nghiệp vụ.
  3. Trong MVC Business logic và trình bày Logic được kết hợp trong JSP, vì vậy nhà thiết kế web và nhà phát triển web không thể làm việc đồng thời nhưng trong MVC2 có sự tách biệt giữa logic và chế độ xem, đó là lý do tại sao nhà thiết kế và nhà phát triển có thể làm việc cùng nhau.
  4. Trong MVC 1, bộ điều khiển và mô hình, cả hai đều là JSP hoặc chúng ta có thể nói được viết bằng cùng một JSP. Nhưng trong MVC2, bộ điều khiển là servlet và mô hình là lớp Java.
  5. MVC Không hỗ trợ khả năng tái sử dụng của các thành phần ứng dụng trong khi MVC2 hỗ trợ khả năng tái sử dụng của các thành phần tốt cho các ứng dụng lớn hơn và phức tạp hơn.

Sự kết luận

Như chúng ta đã thấy sự khác biệt dày đặc giữa MVC và MVC2 mặc dù có tên giống nhau nhưng cả hai đều được sử dụng làm giải pháp cho các vấn đề thiết kế hệ thống lặp lại.

MVC2 phức tạp hơn và có sự tách biệt các mối quan tâm được sử dụng cho các ứng dụng lớn hơn hoặc trải nghiệm người dùng trực quan vì tính năng tập trung của nó trong đó tất cả các yêu cầu được xử lý bởi một bộ điều khiển. Không giống như MVC trong đó JSP hiện tại là JSP xác định trang xem tiếp theo sẽ mở.

MVC2 loại bỏ các trang xem từ bộ điều khiển, không giống như MVC giữ cả logic kinh doanh và chế độ xem được kết hợp trong một JSP. Do đó, MVC2 dễ bảo trì hơn cho nhiều người dùng vì tính năng mở rộng và tái sử dụng của nó và có khả năng hỗ trợ một hệ thống phức tạp hơn trong thời gian thực, chẳng hạn như Facebook, Instagram.

Người giới thiệu

  1. https://www.scientific.net/AMM.198-199.537
  2. https://ieeexplore.ieee.org/abstract/document/777091/
  3. https://academic.oup.com/jpp/article-abstract/64/3/397/6135294

Sự khác biệt giữa MVC và MVC2 (Với Bảng)