tight coupling problem

by Artem

JavaScript

class Engine {
    constructor(type) {
        this.type = type;
    }
}

/* при изменение типа инициализауии енжина, нужно будет менять класс Car
class Car {
   construct() {
       this.engine = new Engine();
   }
}
*/


// Dependency injection
class Car {
   construct(engine) {
       this.engine = engine;
   }
}

const engine = new Engine('v8');
const car = new Car();
car.construct(engine);

console.log(car);