Tôi đã đọc trong ba ngày về các mẫu Model-View-Controller (MVC) và Model-View-Presenter (MVP) . Và có một câu hỏi làm phiền tôi rất nhiều. Tại sao các nhà thiết kế phần mềm phát minh ra MVP, khi đã có MVC?
Họ đã gặp phải vấn đề gì, mà MVC không giải quyết được (hoặc giải quyết kém), nhưng MVP có thể giải quyết? Những vấn đề nào là MVP dự định giải quyết?
Tôi đã đọc rất nhiều bài viết về lịch sử và giải thích về MVP, hoặc về sự khác biệt giữa MVC và MVP, nhưng không có câu trả lời rõ ràng nào cho câu hỏi của tôi.
Trong một trong những bài báo mà tôi đọc, nó đã được nói:
Bây giờ vào Model View Presenter, đây là một phản ứng đối với những bất cập của mẫu MVC khi được áp dụng cho các giao diện người dùng đồ họa dựa trên thành phần hiện đại. Trong các hệ thống GUI hiện đại, các thành phần GUI tự xử lý đầu vào của người dùng như di chuyển chuột và nhấp chuột, thay vì một số bộ điều khiển trung tâm.
Vì vậy, tôi không thể hiểu, nhưng nó thực sự có thể theo một cách khác, sao cho các thành phần GUI không tự xử lý đầu vào của người dùng? Và chính xác thì "tự xử lý" nghĩa là gì?