Nếu chúng tôi tìm kiếm Google bằng cụm từ "Sự khác biệt giữa mẫu thiết kế MVC, MVP & MVVM" thì chúng tôi có thể nhận được một vài URL thảo luận về sự khác biệt giữa mẫu thiết kế MVC MVP & MVVM về mặt lý thuyết như :
MVP
Sử dụng trong các tình huống mà liên kết thông qua một datacontext là không thể. Windows Forms là một ví dụ hoàn hảo về điều này. Để tách chế độ xem khỏi mô hình, cần có người thuyết trình. Vì chế độ xem không thể liên kết trực tiếp với người trình bày, thông tin phải được chuyển đến chế độ xem qua giao diện (IView).
MVVM
Sử dụng trong các tình huống có thể liên kết thông qua một datacontext. Tại sao? Các giao diện IView khác nhau cho mỗi chế độ xem được loại bỏ có nghĩa là ít mã hơn để duy trì. Một số ví dụ có thể có MVVM bao gồm các dự án WPF và javascript bằng Knockout.
MVC
Sử dụng trong các tình huống không phải lúc nào kết nối giữa chế độ xem và phần còn lại của chương trình (và bạn không thể sử dụng hiệu quả MVVM hoặc MVP). Điều này mô tả rõ ràng tình huống mà API web được tách ra khỏi dữ liệu được gửi đến trình duyệt máy khách. ASP.NET MVC của Microsoft là một công cụ tuyệt vời để quản lý các tình huống như vậy và cung cấp một khung MVC rất rõ ràng
Nhưng tôi đã không tìm thấy một bài viết nào thảo luận về sự khác biệt về mặt lý thuyết cùng với mã mẫu.
Sẽ thật tuyệt nếu tôi nhận được một bài viết thảo luận về sự khác biệt giữa 3 mẫu thiết kế này (MVC, MVP & MVVM) cùng với mã.
Tôi muốn có được mã nguồn của 3 ứng dụng CRUD tương tự đã được triển khai bởi ba mẫu thiết kế này (MVC, MVP & MVVM). Để tôi có thể duyệt mã và hiểu cách người ta nên viết mã cho ba mẫu thiết kế này (MVC, MVP & MVVM).
Vì vậy, nếu có bất kỳ bài viết nào như vậy tồn tại thảo luận về cách mã sẽ khác nhau cho 3 mẫu thiết kế này (MVC, MVP & MVVM) thì hãy chuyển hướng tôi đến bài viết đó.