Sự khác biệt giữa MVC và MVP

MVC vs MVP

Model View Controller (còn được gọi là MVC) là một mẫu có tính chất kiến ​​trúc được sử dụng đặc biệt trong công nghệ phần mềm. Mẫu cụ thể này được sử dụng để cô lập cái được gọi là 'logic miền' - đơn giản là logic của một ứng dụng cho người dùng. Nó được phân lập từ đầu vào và trình bày (được gọi là GUI) và cho phép phát triển độc lập.

Model View Presenter (còn được gọi là MVP) là một hoán vị trực tiếp của MVC. Đó là một mẫu phần mềm (cụ thể hơn là mẫu thiết kế giao diện người dùng) được thiết kế đặc biệt để hỗ trợ kiểm tra các đơn vị tự động và cải thiện những gì được gọi là phân tách mối quan tâm trong logic trình bày. Sự tách biệt các mối quan tâm về cơ bản là một quá trình trong đó một chương trình máy tính được tách thành các tính năng riêng biệt không trùng lặp, về cách thức hoạt động của chúng.

Phần mô hình của MVC về cơ bản là một mẫu biểu thị dữ liệu thông qua các miền cụ thể mà dữ liệu được sử dụng để cho phép ứng dụng hoạt động. Phần khung nhìn biến mô hình thành một tương tác phù hợp với người dùng - đây thường là một yếu tố giao diện người dùng. Cuối cùng, phần điều khiển thích hợp nhất nhận đầu vào. Bằng cách đưa ra quyết định cho các đối tượng được tìm thấy trong mô hình, bộ điều khiển đóng vai trò là chất xúc tác cho phản ứng.

Phần mô hình của MVP xác định dữ liệu sẽ được hiển thị (hoặc hành động theo) trong giao diện người dùng. Phần khung nhìn hiển thị dữ liệu được xác định trong mô hình và gửi các lệnh được nhắc bởi người dùng (được gọi là sự kiện) đến người trình bày (người sẽ hành động theo dữ liệu này). Người trình bày, sau đó, hành động trên mô hình và quan điểm của mô hình. Như vậy, nó có khả năng truy xuất dữ liệu từ các kho lưu trữ (được tìm thấy trong mô hình), tiếp tục dữ liệu và định dạng dữ liệu để có thể dễ dàng hiển thị trong chế độ xem.

Có các biến thể khác nhau của MVC. Do đó, luồng điều khiển theo một thứ tự rất nghiêm ngặt: Đầu tiên, người dùng sẽ tương tác với giao diện (ví dụ nhấn một nút trên chuột), sau đó bộ điều khiển sẽ xử lý sự kiện đầu vào và thay đổi nó thành hành động người dùng thích hợp. Tiếp theo, bộ điều khiển thông báo mô hình về những gì người dùng đã thực hiện, điều này rất có thể sẽ dẫn đến việc mô hình thay đổi trạng thái của nó (ví dụ như một bản cập nhật). Khung nhìn sau đó đặt một câu hỏi cho mô hình để tạo giao diện người dùng. Cuối cùng, giao diện người dùng chờ đợi các hướng dẫn sẽ khởi động lại chu trình.

Tóm lược:

1. MVC là một mẫu kiến ​​trúc cô lập logic miền; MVP là hậu duệ của MVC được thiết kế để giúp kiểm tra các đơn vị tự động và cải thiện sự phân tách mối quan tâm.

2. Liên quan đến MVC, mô hình đại diện cho dữ liệu, khung nhìn biến mô hình thành tương tác thân thiện với người dùng và bộ điều khiển nhận đầu vào; liên quan đến MVP, mô hình xác định dữ liệu, khung nhìn hiển thị nó và người trình bày hành động trên mô hình và khung nhìn của nó.