export interface Factory {
export const FactoryToken = new Token<Factory>('factories');
@Service({ id: FactoryToken, multiple: true })
export class BeanFactory implements Factory {
console.log('bean created');
@Service({ id: FactoryToken, multiple: true })
export class SugarFactory implements Factory {
console.log('sugar created');
@Service({ id: FactoryToken, multiple: true })
export class WaterFactory implements Factory {
console.log('water created');
// now you can get all factories in a single array
Container.import([BeanFactory, SugarFactory, WaterFactory]);
const factories = Container.getMany(FactoryToken); // factories is Factory[]
factories.forEach(factory => factory.create());