# MVVM và phụ thuộc một chiều

> Ba giới hạn của state trong composable, trách nhiệm của Model, ViewModel, View, và cách chứng minh ranh giới bằng chính cấu trúc package của TicTac.

- URL: https://dantech.academy/courses/kotlin-mobile-101/03-mvvm/lesson-01-why-mvvm-and-three-layers
- Khóa học: [Kotlin Mobile 101](https://dantech.academy/courses/kotlin-mobile-101.md)
- Module: MVVM
- Thời lượng: 14 phút
- Độ khó: beginner
- Truy cập: Dành cho học viên

## Mục tiêu

- Chỉ ra ba vấn đề cụ thể khi để dữ liệu và logic sống trong composable
- Phân biệt trách nhiệm của Model, ViewModel, View và quy tắc phụ thuộc một chiều

## Nội dung bài học

1. Ba Tầng, Và Một Tầng Thứ Tư
2. Ranh Giới Là Chiều Phụ Thuộc
3. Màn Hình Không Biết ViewModel
4. Unidirectional Data Flow

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/kotlin-mobile-101/checkout)

---

- Bài trước: [Lưới và lựa chọn](https://dantech.academy/courses/kotlin-mobile-101/02-compose-essentials/lesson-03-grid-and-selection.md)
- Bài tiếp theo: [Model và state riêng cho từng màn hình](https://dantech.academy/courses/kotlin-mobile-101/03-mvvm/lesson-02-model-and-ui-state.md)
