Я пытаюсь добавить внедрение зависимостей в простой проект Typescript, обнаружил пакет npm, называемый inversify.Итак, глядя на примеры, я наткнулся на этот код:
import { Container, injectable, inject } from "inversify";
@injectable()
class Katana {
public hit() {
return "cut!";
}
}
@injectable()
class Shuriken {
public throw() {
return "hit!";
}
}
@injectable()
class Ninja implements Ninja {
private _katana: Katana;
private _shuriken: Shuriken;
public constructor(katana: Katana, shuriken: Shuriken) {
this._katana = katana;
this._shuriken = shuriken;
}
public fight() { return this._katana.hit(); };
public sneak() { return this._shuriken.throw(); };
}
var container = new Container();
container.bind<Ninja>(Ninja).to(Ninja);
container.bind<Katana>(Katana).to(Katana);
container.bind<Shuriken>(Shuriken).to(Shuriken);
Что означает, что класс Ninja реализует класс Ninja?
class Ninja implements Ninja {
В примере контейнер связываеткласс сам по себе, это связано с этим?
var container = new Container();
container.bind<Ninja>(Ninja).to(Ninja);