Kiến trúc một ứng dụng Flutter tốt liên quan đến phân tách mối quan tâm (UI, logic nghiệp vụ, dữ liệu), chọn một cách tiếp cận state management, và cấu trúc code cho khả năng bảo trì, khả năng test, và khả năng mở rộng. Kiến trúc tốt quan trọng khi ứng dụng phát triển.
Phân tách mối quan tâm (các tầng)
Tách ứng dụng thành các TẦNG với trách nhiệm rõ ràng:
PRESENTATION (UI) → widget/màn hình; hiển thị + tương tác người dùng (không có logic nghiệp vụ)
LOGIC NGHIỆP VỤ → state management, use case, logic ứng dụng (độc lập với UI)
DATA → repository, nguồn dữ liệu (API, DB cục bộ), model
→ Mỗi tầng có MỘT trách nhiệm; chỉ phụ thuộc vào các tầng thấp hơn → dễ bảo trì, dễ test.
