1.1 MVP là gì? ▪ MVP là một mô hình kiến trúc hướng giao diện người dùng ▪ Thiết kế thuận lợi cho việc kiểm thử đơn vị. ▪ Tăng tính tách biệt giữa tầng dữ liệu và tầng hiển thị dữ liệu trong mô hình MVC.
2.1 Chức năng của Model ▪ Lớp xử lí dữ liệu. ▪ Lớp này sẽ chịu trách nhiệm lấy dữ liệu từ database hoặc network một cách bất đồng bộ. Sau đó sẽ trả về dữ liệu cho Presenter thông qua các hàm callback.
2.2 Chức năng của View ▪ View là một giao diện người dùng thụ động hiển thị dữ liệu (Model) và tiếp nhận tương tác người dùng và truyền tới để Presenter xử lý tương tác.
2.3 Chức năng của Presenter ▪ Presenter được ví như middle-man. Khi người dùng tương tác với View, Presenter tiếp nhận tương tác người dùng và update Model. ▪ Khi Model được update hay có thay đổi, Presenter lấy dữ liệu từ Model, định dạng và đưa tới View để hiển thị.
Ưu điểm của MVP ▪ Code rõ ràng rành mạch, các task lớn được chia ra nhiều task nhỏ -> dễ test/debug. ▪ Phân chia rành mạch giữa các loại xử lí : xử lí dữ liệu / xử lí view / xử lí business logic. ▪ Phát triển ứng dụng lâu dài, dễ bảo trì và nâng cấp.