更新时间:2021-07-16 12:57:46
封面
版权信息
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface
Chapter 1. The Design Patterns Out There and Setting Up Your Environment
Design patterns
Design pattern categories
How to choose a design pattern
Setting up the development environment
Summary
Chapter 2. Traits and Mixin Compositions
Traits
Mixin compositions
Multiple inheritance
Linearization
Testing traits
Traits versus classes
Chapter 3. Unification
Functions and classes
Algebraic data types and class hierarchies
Modules and objects
Chapter 4. Abstract and Self Types
Abstract types
Polymorphism
Self types
Chapter 5. Aspect-Oriented Programming and Components
Aspect-oriented programming
Chapter case example
Components in Scala
Chapter 6. Creational Design Patterns
What are creational design patterns?
The factory method design pattern
The abstract factory
Other factory design patterns
Lazy initialization
The singleton design pattern
The builder design pattern
The prototype design pattern
Chapter 7. Structural Design Patterns
What are structural design patterns?
The adapter design pattern
The decorator design pattern
The bridge design pattern
The composite design pattern
The facade design pattern
The flyweight design pattern
The proxy design pattern
Chapter 8. Behavioral Design Patterns – Part 1
What are behavioral design patterns?
The value object design pattern
The null object design pattern
The strategy design pattern
The command design pattern
The chain of responsibility design pattern
The interpreter design pattern
Chapter 9. Behavioral Design Patterns – Part 2
The iterator design pattern
The mediator design pattern
The memento design pattern
The observer design pattern
The state design pattern
The template method design pattern
The visitor design pattern
Chapter 10. Functional Design Patterns – The Deep Theory
Abstraction and vocabulary
Monoids
Functors
Monads
Chapter 11. Functional Design Patterns – Applying What We Learned
The lens design pattern
The cake design pattern
The pimp my library design pattern
The stackable traits design pattern
The type class design pattern
Lazy evaluation
Partial functions
Implicit injection
Duck typing
Memoization
Chapter 12. Real-Life Applications
Why should we use libraries?
The Scalaz library
Writing a complete application
Index