Scala Design Patterns, 1st Edition

  • Published By:
  • ISBN-10: 3319021923
  • ISBN-13: 9783319021928
  • DDC: 005.1
  • Grade Level Range: College Freshman - College Senior
  • 327 Pages | eBook
  • Original Copyright 2013 | Published/Released June 2014
  • This publication's content originally published in print form: 2013

  • Price:  Sign in for price



Scala is a new and exciting programming language that is a hybrid between object oriented languages such as Java and functional languages such as Haskell. As such it has its own programming idioms and development styles.Scala Design Patterns looks at how code reuse can be successfully achieved in Scala. A major aspect of this is the reinterpretation of the original Gang of Four design patterns in terms of Scala and its language structures (that is the use of Traits, Classes, Objects and Functions). It includes an exploration of functional design patterns and considers how these can be interpreted in Scala's uniquely hybrid style.A key aspect of the book is the many code examples that accompany each design pattern, allowing the reader to understand not just the design pattern but also to explore powerful and flexible Scala language features. Including numerous source code examples, this book will be of value to professionals and practitioners working in the field of software engineering.

Table of Contents

Front Cover.
Half Title Page.
Title Page.
Copyright Page.
Author’s Note.
1: Introduction.
2: Introduction.
3: Design Patterns.
4: UML and Scala.
5: Fundamental Patterns.
6: Immutability.
7: Singleton.
8: Marker Trait.
9: Delegation.
10: Code Reuse Patterns.
11: Lazy Parameters.
12: Partially Applied Functions.
13: Trait Based Template Operation.
14: Stackable Traits.
15: Currying and Code Reuse.
16: Cake Pattern.
17: Structural Injection.
18: Implicit Injection Pattern.
19: Gang of Four Patterns.
20: Gang of Four Design Patterns.
21: Gof Patterns Catalog.
22: Factory Operation.
23: Abstract Factory Pattern.
24: Builder.
25: Adapter Pattern.
26: Decorator.
27: Façade.
28: Flyweight.
29: Proxy.
30: Filter.
31: Bridge.
32: Chain of Responsibility.
33: Command.
34: Strategy.
35: Mediator.
36: Observer.
37: State.
38: Visitor.
39: Memento.
40: Functional Design Patterns.
41: Functor.
42: Applicative Functor.
43: Monoid Pattern.
44: Monad Pattern.
45: Foldable.
46: Zipper.
47: Lens Pattern.
48: View Pattern.
49: Arrow Pattern.