Nhóm :
Member
Tham gia:
15-10-2010
Bài viết:
0
Lần thăm:
7

MVVM Pattern trên Silverlight và WPF

1. Tại sao phải cần MVVM - MVVM là gì

MVVM - Model View ViewModel : là một pattern trong lập trình nhắm tách công việc thiết kế và truy xuất dữ liệu từ Business Logic.

MVVM bao gồm:
- Hiển thị data lên View
- Có khả năng unit test
- Phân chia rõ ràng có cấu trúc của dữ liệu và View
- Giúp công việc thiết kế và lập trình viên làm việc độc lập nhưng dễ dàng kết hợp lại

M - Model :
- Các thuộc tính hiển thị ( properties)
- Các object để truyền trên network ( DomainObjects )

V - View:
- Các màn hình để hiển thị, các trang, các user control như page, grid trong silverlight
- Các template để hiển thị data
-  Quản lý các thao tác của user:
    - Bindings - Ràng buộc giữa các control và data ( textbox và properties của model)
    - Events - Sự kiện 
    - Behaviors 
- Themes và styles trong silverlight hoặc WPF

VM - ViewModel 
 - Đây là class trung gian của View và Model
 - ViewModel chứa các model và hiển thị lên View
- View sẽ lấy data từ ViewModel thông qua
    - Các thuộc tính (Properties)
    - Commands
    - Methods
 - Gọi các services để lấy data từ server và hiển thị lên View

Mô hình tổng quát như sau:

                    View                                                           -                                ViewModel                           -                         Model
               UserControl (xaml) , Page.xaml                                      (chứa: RIA Services, Model)                               (Domain Objects)

Ví dụ:
LoginView sẽ call LoginViewModel khi user Login vào hoặc hiển thị màn hình login

                LoginView                                                   -                        LoginViewModel                           -                         User


User <-> View  <-> ViewModel <->