# Thiết Kế Dựa Trên Interface

> Interface làm ranh giới giữa các lớp và seam giữa các platform, cùng cách DI bind interface vào implementation.

- URL: https://dantech.academy/courses/kotlin-accelerator/engineer-builder/06-clean-architecture/lesson-04-interface-based-design
- Khóa học: [Mobile Action Pro](https://dantech.academy/courses/kotlin-accelerator.md)
- Module: Clean Architecture Chuyên Sâu
- Thời lượng: 25 phút
- Độ khó: intermediate
- Truy cập: Dành cho học viên
- English: https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/06-clean-architecture/lesson-04-interface-based-design.md

## Mục tiêu

- Áp dụng Dependency Inversion: đặt interface ở phía người dùng nó
- Dùng interface cho seam platform (audio, haptic, Google Sign-In) giữa Android và iOS
- Biết binding nằm ở DataModule, dataPlatformModule, SharedDomainModule và AppGraphTest kiểm tra chúng

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

1. Mục Tiêu Bài Học
2. Phần 1: DIP Là Gì
3. Phần 2: Interface Cho Ranh Giới Layer
4. Phần 3: Interface Cho Ranh Giới Platform
5. Phần 4: Interface Hay expect/actual
6. Phần 5: DI Nối Interface Vào Implementation
7. Bài Tập Thực Hành
8. Lộ Trình Đọc Code
9. Dấu Hiệu Cần Tránh
10. Tham Khảo
11. Ý Chính

## 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-accelerator/checkout)

---

- Bài trước: [Cấu trúc Gradle Multi-Module](https://dantech.academy/courses/kotlin-accelerator/engineer-builder/06-clean-architecture/lesson-03-multi-module-structure.md)
- Bài tiếp theo: [Repository Pattern](https://dantech.academy/courses/kotlin-accelerator/engineer-builder/06-clean-architecture/lesson-05-repository-pattern.md)
