Scala: Advanced Object-Functional Programming培训
Introduction
Scala as a JVM language
Objection-oriented programming vs functional programming
Overview of Object-Functional Programming
Tail recursion
Partial functions
Currying and partial function application
Closures
Lazy evaluation
Mastering the Scala Type System
About traits
Structural types
Path dependent types
Self types
Covariance and contravariance
Type bounds
Advanced Pattern Matching in Scala
Deep matching
Using extractors
Using Scala Implicit
Implicit conversion, classes and parameters
Type class pattern
Context and view bounds
Libraries and DSLs
Custom control structures with by-name parameters
Building well-designed libraries and internal DSLs
Working with Scala Collections
Working with Streams
Manifests and class tags
Builders
CanBuildFrom
Building custom collections
Functional Exception Handling
Traditional exception handling
Functional exception handling
Using Try with For comprehensions
Closing Remarks