SOLID
SOLID là 5 nguyên tắc thiết kế phần mềm hướng đối tượng, giúp xây dựng hệ thống dễ hiểu, dễ thay đổi, dễ mở rộng, dễ test, ít gây ảnh hưởng dây chuyền, dễ bảo trì
SOLID gồm:
S: Single Responsibility Principle
O: Open/Closed Principle
L: Liskov Substitution Principle
I: Interface Segregation Principle
D: Dependency Inversion Principle
S: Mỗi class chỉ nên xử lý 1 công việc duy nhất
O: Thêm tính năng mới bằng cách mở rộng, ko phải sửa code cũ
L: Class con phải thay được class cha mà chương trình ko bị lỗi. Nếu class con kế thừa mà làm sai lệch hẳn thì thiết kế đang có vấn đề
I: interface nhỏ gọn, ko ép class thực hiện mấy hàm mà nó ko dùng
D: các module cấp cao ko được phụ thuộc vào module cấp thấp, mà nó nên được phụ thuộc vào interface của module cấp thấp
DESIGN PATTERNS
Là những công thức có sẵn để giải các bài toán code hay gặp, mấy cái hay gặp nhất (trong flutter) là:
- Singleton: chỉ có đúng 1 instance trong cả app (vd: service cấu hình, db helper)
- Factory: hàm tạo object theo điều kiện. Dart có hẳn factory constructor
- Repository: lớp trung gian lấy data (API, SQLite, Firebase) để UI ko cần biết data đến từ đâu
- Observer: khi data đổi thì tự báo cho UI cập nhật. ChangeNotifier và Stream chính là pattern này, nên state management thực chất dựa trên nó
- Builder: dựng object/UI từng bước
- Decorator/Composition: bọc widget này nào widget khác
- Strategy: đổi cách xử lý lúc chạy, như ví dụ nhiều phương thức thanh toán






Khoá học lập trình game con rắn cho trẻ em




