Kiến trúc MVVM trong Flutter – MVVM Pattern Flutter

Kiến trúc MVVM trong Flutter là một trong những pattern được sử dụng nhiều trong quá trình xây dựng ứng dụng Flutter. Để hiểu hơn về cách sử dụng pattern này, mời bạn theo dõi bài viết này.

Kiến trúc MVVM
Viết tắt của Model – View – ViewModel.
Là một mô hình hỗ trợ ràng buộc dữ liệu hai chiều (Two-way data binding ) giữa View và ViewModel.
Cho phép tách biệt dữ liệu (Model), mã thực thi (Logic hay ViewModel ) và giao diện người dùng (View).

Model
Model là thành phần liên kết với cơ sở dữ liệu, trong Model luôn có các hàm truy xuất dữ liệu từ cơ sở dữ liệu.

View
View hay UI hay Presentation Layer là phần giao diện của ứng dụng và nhận tương tác của người dùng.
Một điểm khác biệt của View trong MVVM là : 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.

ViewModel

  • Là lớp trung gian giữa View và Model.
  • Được xem là một thành phần thay thế lớp Controller trong mô hình MVC.
  • ViewModel không biết được các thông tin gì về tầng bên trên của nó, cũng như không biết thông tin gì về View.
  • Một ViewModel có thể sử dụng cho nhiều View thông qua binding data, có thể 1 hay 2 chiều tuỳ nhu cầu của ứng dụng.
  • Sự khác biệt ở chỗ : Trong ViewModel có chứa các mã lệnh thực hiện Data Binding, Command.

Triển khai kiến trúc MVVM Flutter
Tạo project mới và khai báo thư viện mới nhất của : provider, http
Tạo các folder như bên dưới:

models
Tạo một file model có tên: user.dart

data_sources
Tạo file api_urls.dart:

Tạo file api_services.dart:

view_models
Tạo file user_list_view_model.dart

views
Tạo file user_list_screen.dart

resources
Trong file này chứa các file utils hoặc Widgets, strings , sẽ dùng chung cho toàn bộ dự án.
Bạn có thể xem chi tiết toàn bộ source code ở link Github bên dưới.

SOURCE CODE => Xem ở link Github

Kiến trúc MVVM trong Flutter là một trong những kiến trúc được dùng phổ biến không chỉ trong Flutter mà còn các nền tảng lập trình mobile khác, đặc biệt là native. Trong Flutter , MVVM đã được tích hợp vào kiến trúc BLoc – một kiểu kiến trúc được dùng nhiều trong qúa trình phát triển các ứng dụng từ nhỏ đến lớn.
Cảm ơn bạn đã theo dõi !

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *