Tiêm phụ thuộc là gì
Mẫu truyền phụ thuộc từ bên ngoài
Tiêm phụ thuộc (DI) là mẫu thiết kế trong đó đối tượng nhận các phụ thuộc từ nguồn bên ngoài thay vì tự tạo chúng.
Các loại tiêm
- Constructor Injection — qua constructor
- Setter Injection — qua setter methods
- Interface Injection — qua interface
- Property Injection — qua public properties
Lợi ích
- Liên kết lỏng — các thành phần dễ thay thế
- Khả năng kiểm thử — dễ dàng thay thế mock và stub
- Tính linh hoạt — hành vi được cấu hình từ bên ngoài
- Tái sử dụng — mã nguồn mô-đun hơn
- Kiến trúc sạch — đảo ngược phụ thuộc
DI Container phổ biến
- Spring (Java)
- .NET Core DI (C#)
- InversifyJS (TypeScript)
- Dagger (Android)
- Angular DI