Advanced Object Oriented Programming in Scala
People often associate "Advanced" Scala with pure, monadic functional programming, and "Object Oriented" Scala with newbies fresh from a Java background. In doing so, they're missing out on half of what Scala, a hybrid language, has to offer!
This talk will introduce object-oriented techniques far beyond what you've seen in Java land. We will explore patterns such as:
- Objects as Modules
- Deep Interfaces
- Objects as Dependency Injection
We'll see how these techniques are useful in real-world code bases, such as the Scalatags templating language or the Ammonite REPL. This will give you more tools in the toolbox you use to refactor and improve your Scala code!