MVC so với MVC2
Trình điều khiển khung nhìn mô hình (MVC) là một kiến trúc phần mềm mô tả chi tiết luồng thông tin và cách các yêu cầu được phục vụ để cung cấp bản trình bày chính xác. Trong quá trình sản xuất các ứng dụng web Java, hai mô hình thiết kế phổ biến (Model 1 và Model 2) có liên quan chặt chẽ với MVC và thường được gọi nhầm là MVC1 (hoặc chỉ MVC) và MVC2. Hầu hết mọi người nghĩ rằng MVC2 là phiên bản cải tiến của MVC; nó thực sự không phải là. Mô hình 1 và Mô hình 2 được phát triển đồng thời và về cơ bản là hai biến thể về cách mọi thứ nên được thực hiện.
Một sự khác biệt chính giữa MVC2 và MVC là sự phức tạp. MVC2 phức tạp hơn để thực hiện khiến nhiều nhà phát triển phải sử dụng MVC đơn giản hơn. Lý do cho sự phức tạp được thêm vào là sự tách biệt logic khỏi bản trình bày. Logic là phần phục vụ yêu cầu và tạo dữ liệu phù hợp cho người dùng. Khía cạnh trình bày là cách nó được thể hiện, ngôn ngữ nào sẽ được sử dụng và như vậy. Tất cả đều được trộn lẫn trong MVC trong khi MVC2 đảm bảo rằng chúng tách biệt và ngăn cách. Ưu điểm chính của cách tiếp cận MVC2 là tính linh hoạt. Vì logic và bản trình bày được tách biệt, việc tạo bản trình bày với các ngôn ngữ khác sẽ dễ dàng hơn mà không cần phải sao chép phần logic. Cũng có thể thêm logic và bản trình bày mới tăng dần mà không phải xử lý toàn bộ ứng dụng.
MVC được ưa thích trong các ứng dụng nhỏ hơn vì cách tiếp cận đơn giản của nó có nghĩa là việc mã hóa ứng dụng dễ dàng và nhanh hơn mà không cần phải vượt qua các vòng. Nếu ứng dụng được phát triển lớn hoặc dự kiến sẽ được mở rộng trong tương lai, thì nó hợp lý hơn và do đó được các lập trình viên ưa thích đi cùng với MVC2. Cách tiếp cận có cấu trúc chặt chẽ hơn của nó giúp cho chương trình sau này dễ dàng hơn mà không mất dấu vết của những gì đi đâu và giảm sự xuất hiện của mã trùng lặp.
Với tất cả những khác biệt được giải quyết, rõ ràng để thấy rằng MVC và MVC2 có chỗ đứng riêng trong lập trình. Tuy nhiên, bạn có thể đổi cái này sang cái khác nếu bạn thực sự muốn, nhưng bạn nên xem xét hậu quả đặc biệt là trong các ứng dụng lớn.
Tóm lược:
1.MVC2 không phải là sự kế thừa cho MVC.
2.MVC2 phức tạp hơn MVC.
3.MVC2 tách logic khỏi cách trình bày trong khi MVC không.
4.MVC2 linh hoạt hơn MVC.
5.MVC2 tốt hơn cho phát triển ứng dụng quy mô lớn hơn MVC.