notes/pl/scala/scala-cake-di.txt
Ihar Hancharenka 5dff80e88e first
2023-03-27 16:52:17 +03:00

48 строки
1.4 KiB
Plaintext

2018
The Infamous Cake Pattern for Dependency Injection in Scala - Part 1
https://www.youtube.com/watch?v=0TLHaRaXIAo
http://di-in-scala.github.io/#modules
http://www.slideshare.net/debasishg/dependency-injection-in-scala-beyond-the-cake-pattern
Spiewak - Cake Pattern -The Bakery from the Black Lagoon (http://marakana.com/s/post/1399/cake_pattern_bakery_from_the_black_lagoon_daniel_spiewak_ne_scala_video)
http://blog.originate.com/blog/2013/10/21/reader-monad-for-dependency-injection/
http://scala.org.ua/presentations/scala-functional-refactoring/#/
http://it-talk.org/post83873.html#p83873
Warski - The no Framework Scala DI Framework
http://www.slideshare.net/adamw1pl/the-noframework-scala-dependency-injection-framework
Wyatt - Baking Delicious Modularity in Scala
http://www.slideshare.net/DerekWyatt1/baking-delicious-modularity-in-scala
Zhizhelev - Scala Type System in Applied Problems
https://www.youtube.com/watch?v=Cr0j6eh8P7I
from 17:45
package types
// part of DB-schema
trait DbSlice {}
// ... related to Product-entity
trait ProductDb extends DbSlice {
case class Product(name: String)
val products = TableQuery[...]
}
trait ProductSupport {
type Database <: ProductDb
val database: Database
def newProduct(name: String) = database.Product(name)
}
class AllDb extends ProductDb
object MyApp extends App with ProductSupport {
type Database = AllDb
val database = new AllDb
...
}