Сабж.
Насмотрелся я тут на проекты обложенные всякими декораторами @injectable, контейнерами, символами и интерфейсами (которые реализует один единственный класс) по самое не могу, аж в глазах рябит.
Кто-то это вообще использует? Чем оно лучше ванильного js/babel/ts?
@injectable()
export class My implements MyInterface {
    public constructor(
        @inject(Symbols.Logger) private readonly _log: Logger,
    ) {
    }
}
Что это такое? Почему нельзя сделать просто:
export class My implements MyInterface {
    private readonly log: Logger;
    public constructor()
    {
        this.log = new Logger();
    }
}
И не тащить за собой лишние пакеты?



