Slide 5
Slide 5 text
trait DataBase {
def write(text: String): Unit
}
class RealDB() extends DataBase {
override def write(text: String): Unit = println(s"$text を本番用DBに書き込みました!")
}
class TestDB() extends DataBase {
override def write(text: String): Unit = println(s"テスト環境のため $text は書き込みしてません!")
}
trait MyApp {
val db = bind[DataBase]
}
val d = newDesign
.bind[DataBase].to[RealDB]
d.build[MyApp] { app =>
app.db.write("お試し") // お試し を本番用DBに書き込みました!
// TestDB =>テスト環境のため お試し は書き込みしてません!
}