Scala Design Patterns.: Design modular, clean, and scalable applications by applying proven design patterns in ScalaIvan Nikolov