interface IBufferWriter {
write(what: string);
}
class ConsoleWriter extends IBufferWriter {
write(what: string) {
console.log(what);
}
}
interface IStringGenerator {
gen(): string;
}
interface IDotsGenerator extends IStringGenerator {
gen(): string;
}
interface IExclsGenerator extends IStringGenerator {
gen(): string
}
class Begooni extends IStringGenerator {
constructor(
private dotsGen,
private excelsGen,
) {}
gen() {
return '하' +
this.dotsGen.gen()
' 백군이형' +
this.excelsGen.gen()
}
}
class StringPrinterService {
constructor(
private generator: IStringGenerator,
private target: IBufferWriter,
) {}
exec() {
this.target.write(this.generator());
}
}
const sibal = new StringPrinterService(
new ConsoleWriter(),
new Begooni(
new DotsGenerator(min, max),
new ExclsGenerator(min, max),
),
);
sibal.exec();
오버헤드는 줄이라던 평소 소신은 어디갔음?
그건 원숭이들이내코드클론 아닌가요