簡単なシナリオ:
共通のインターフェイスを実装する複数のサービスがあります。これらのサービスはすべてbootstrap
メソッド内に登録されます。
ここで、共通のインターフェイスを実装するすべての登録済みサービスを注入する別のサービスが必要です。
すなわち
export interface MyInterface {
foo(): void;
}
export class Service1 implements MyInterface {
foo() { console.out("bar"); }
}
export class Service2 implements MyInterface {
foo() { console.out("baz"); }
}
export class CollectorService {
constructor(services:MyInterface[]) {
services.forEach(s => s.foo());
}
}
それはどういうわけか可能ですか?