Injection using abstract classes

This commit is contained in:
2018-02-28 00:05:11 +01:00
parent 70ce7711a7
commit 507ab5d40f
9 changed files with 42 additions and 34 deletions

View File

@@ -1,16 +1,16 @@
import { IInjector } from "../domain/ports/IInjector";
import { Injector } from "../domain/ports/Injector";
import { Container } from "./Container";
import { VinylCatalog } from "../adapters/music/VinylCatalog";
import { MusicRepository } from "../domain/ports/MusicRepository";
export class Wiring {
private static injector : IInjector;
private static injector : Injector;
public static apply() : void {
console.log('registering IMusicRepository');
const container = new Container();
container.register('IMusicRepository', () => new VinylCatalog());
Wiring.injector = container;
const container = new Container();
container.register(MusicRepository, () => new VinylCatalog());
Wiring.injector = container;
}
public static getInjector() : IInjector {
public static getInjector() : Injector {
if (!Wiring.injector) {
Wiring.apply();
}