-
Notifications
You must be signed in to change notification settings - Fork 0
/
example1.kt
37 lines (31 loc) · 802 Bytes
/
example1.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Book(val name: String)
class BookParser(val separator: String) {
fun parse(books: String): List<Book> {
return books.split(separator).map { Book(it.trim()) }
}
}
class BookLoader(val separator: String) {
fun load(): String {
val books = listOf(
"Super agent for Doomies",
"Kotlin for the win",
"Lets learn dependency injection"
)
return books.joinToString(separator)
}
}
class Library(val loader: BookLoader, val parser: BookParser) {
fun loadBooks(): List<Book> {
val serializedBooks = loader.load()
return parser.parse(serializedBooks)
}
}
fun printBooks() {
//
// TODO: Implementar
// Imprimir en cada linea todos los libros de la Library
//
}
fun main() {
printBooks()
}