Mô hình Model-View

Download Report

Transcript Mô hình Model-View

Nhóm H4:
Lady Lên
Miss Long
Thím Quý
Mr. Hải
1 - Why?
 Tăng tính hiệu quả trong sự tương tác giữa designer
và developer.
 Tăng khả năng sử dụng lại các component.
 Thay đổi giao diện chương trình mà không cần thiết
phải viết lại code quá nhiều.
Wrong thinking:
 MVVM chỉ thích hợp với các project có giao diện phức
tạp.
 MVVM sẽ làm phình to kích thước cũng như chi phí
đối với các ứng dụng nhỏ.
 MVVM không cân bằng.
2 - What?
2.1 - Model
 Model là các đối tượng giúp truy xuất và thao tác trên
dữ liệu thực sự.
 Đơn vị của Model chính là Class.
 VD: class Customer dùng để lưu trữ các thông tin về
khách hàng.
2.2 - ViewModel
 ViewModel là lớp trung gian giữa View và Model.
ViewModel có thể được xem là thành phần thay thế
cho Controller trong mô hình MVC. Nó chứa các mã
lệnh cần thiết để thực hiện data binding, command.
 ViewModel không mô tả giao diện sẽ trông như thế
nào. Nó chỉ mô tả cách mà View hoạt động và thông
tin nào sẽ được cung cấp cho người dùng.
2.3 – View
 View là phần giao diện của ứng dụng để hiển thị dữ liệu
và nhận tương tác của người dùng.
 Một điểm khác biệt so với mô hình MVC, là nó có khả
năng thực hiện các hành vi và phản hồi lại người dùng
thông qua tính năng binding, command.
Sự kết nối các thành phần trong
MVVM.
 Bước 1: Tạo mẫu cho phần View và giữ cho các View
class tách biệt khỏi ViewModel.
 Bước 2: Các tính năng của View được định nghĩa
trong ViewModel.
 Bước 3: Mỗi element nằm trong View đều được kết
nối tới các Properties trong ViewModel bằng data
binding.
 Bước 4: ViewModel sẽ lấy dữ liệu từ Model.
 Một điểm cần lưu ý là trong mô hình MVVM, các tầng
bên dưới sẽ không biết được các thông tin gì về tầng bên
trên nó. Như hình minh họa dưới đây:
Comparing the MVC and MVVM
 MVC và MVVM hướng tới những loại ứng dụng khác
nhau hoàn toàn.
 MVC for web application.
 MVVM for desktop application.
 Model: bahave the same way in either pattern
 View
 In MVC only display data and perform basic client side
UI duties usually with JavaScript.
 In MVVM have a rich databinding and validation
framework.