Injection using abstract classes
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user