Dependency Injection (DI) là gì?
Về bản chất, DI là một kỹ thuật giúp giảm sự phụ thuộc trực tiếp giữa các thành phần trong hệ thống của bạn. Thay vì một đối tượng tự tạo ra các đối tượng mà nó cần (dependencies), các đối tượng này sẽ được "tiêm 💉 " từ bên ngoài vào.
Tại sao nên sử dụng DI?
Cơ mà dev đọc khái niệm thì sao mà hiểu! Phải đọc code:
**// Constructor Injection
class Engine {
constructor() {
this.power = 100;
}
}
class Car {
constructor(engine) {
this.engine = engine;
}
start() {
console.log("Starting car with engine power:", this.engine.power);
}
}
const engine = new Engine();
const car = new Car(engine); // Dependency Injection
car.start(); // Output: "Starting car with engine power: 100"**
Engine
được "tiêm" vào đối tượng Car
thông qua constructor. Điều này có nghĩa là Car
không còn phụ thuộc vào việc tự tạo ra Engine
.Đó, dễ òm luôn.
Tiếp theo mới hơi khoai xí nè:
Vậy, có mấy loại dependence injection? - 3 LOẠI Các loại Dependency Injection: