Skip to content

Instantly share code, notes, and snippets.

@trikitrok
Last active March 20, 2025 23:59
Show Gist options
  • Save trikitrok/a6a156706d45ce72dccfe7d5e8e1bdcc to your computer and use it in GitHub Desktop.
Save trikitrok/a6a156706d45ce72dccfe7d5e8e1bdcc to your computer and use it in GitHub Desktop.
class Library {
private display: Display;
constructor(display: Display) {
this.display = display;
}
printBooks(books: Book[], inputReader: AcmeInputReader): void {
const libraryData = new LibraryData(inputReader);
const libraryName = libraryData.getLibraryName(); // <- moved method
this.display.show(libraryName);
for (const book of books) {
this.display.show(book.getName());
}
}
}
// wrapper
class LibraryData {
private readonly inputReader: AcmeInputReader ;
constructor(inputReader: AcmeInputReader) {
this.inputReader = inputReader;
}
// moved method
getLibraryName(): string {
return this.inputReader.readLine();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment