MVVM (Model-View-ViewModel) là một kiến trúc phổ biến giúp tách biệt giao diện người dùng và logic nghiệp vụ, giúp ứng dụng dễ bảo trì và mở rộng hơn. Trong bài viết này, chúng ta sẽ tìm hiểu cách áp dụng MVVM vào dự án Flutter.
ChangeNotifier
hoặc Riverpod
để quản lý trạng thái.Provider
hoặc StateNotifier
để cập nhật giao diện theo dữ liệu.Giả sử chúng ta có một ứng dụng hiển thị danh sách sản phẩm.
class Product {
final String name;
final double price;
Product({required this.name, required this.price});
}
import 'package:flutter/material.dart';
class ProductViewModel extends ChangeNotifier {
List<Product> _products = [
Product(name: "Laptop", price: 1200),
Product(name: "Smartphone", price: 800),
];
List<Product> get products => _products;
}
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class ProductListScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final viewModel = Provider.of<ProductViewModel>(context);
return Scaffold(
appBar: AppBar(title: Text("Danh sách sản phẩm")),
body: ListView.builder(
itemCount: viewModel.products.length,
itemBuilder: (context, index) {
final product = viewModel.products[index];
return ListTile(
title: Text(product.name),
subtitle: Text("Giá: \$${product.price}"),
);
},
),
);
}
}
MVVM giúp tổ chức mã nguồn gọn gàng, dễ bảo trì và mở rộng. Khi kết hợp với Provider
hoặc Riverpod
, việc quản lý trạng thái trong Flutter trở nên đơn giản và hiệu quả hơn. Nếu bạn đang tìm kiếm một cách tiếp cận tốt hơn để phát triển ứng dụng Flutter, hãy thử áp dụng MVVM ngay hôm nay!
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE