Scala Design Patterns - Second Edition

Learn how to write efficient, clean, and reusable code with Scala
Preview in Mapt

Scala Design Patterns - Second Edition

Ivan Nikolov
New Release!

Learn how to write efficient, clean, and reusable code with Scala
Mapt Subscription
FREE
$29.99/m after trial
eBook
$10.00
RRP $35.99
Save 72%
Print + eBook
$44.99
RRP $44.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$10.00
$44.99
$29.99 p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Scala Design Patterns - Second Edition Book Cover
Scala Design Patterns - Second Edition
$ 35.99
$ 10.00
wxPython 2.8 Application Development Cookbook Book Cover
wxPython 2.8 Application Development Cookbook
$ 23.99
$ 10.00
Buy 2 for $20.00
Save $39.98
Add to Cart

Book Details

ISBN 139781788471305
Paperback396 pages

Book Description

Design patterns make developers’ lives easier by helping them write great software that is easy to maintain, runs efficiently, and is valuable to the company or people concerned. You’ll learn about the various features of Scala and will be able to apply well-known, industry-proven design patterns in your work.

The book starts off by focusing on some of the most interesting and latest features of Scala while using practical real-world examples.  We will be learning about IDE’s and Aspect Oriented Programming. We will be looking into different components in Scala. We will also cover the popular "Gang of Four" design patterns and show you how to incorporate functional patterns effectively. The book ends with a practical example that demonstrates how the presented material can be combined in real-life applications. You’ll learn the necessary concepts to build enterprise-grade applications.

By the end of this book, you’ll have enough knowledge and understanding to quickly assess problems and come up with elegant solutions.

Table of Contents

Chapter 1: The Design Patterns Out There and Setting Up Your Environment
Design patterns
Design pattern categories
Choosing 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
Summary
Chapter 3: Unification
Functions and classes
Algebraic data types and class hierarchies
Modules and objects
Summary
Chapter 4: Abstract and Self Types
Abstract types
Polymorphism
Self types
Summary
Chapter 5: Aspect-Oriented Programming and Components
Aspect-oriented programming
Components in Scala
Summary
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
Summary
Chapter 7: Structural Design Patterns
Defining 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
Summary
Chapter 8: Behavioral Design Patterns – Part One
Defining 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
Summary
Chapter 9: Behavioral Design Patterns – Part Two
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
Summary
Chapter 10: Functional Design Patterns – the Deep Theory
Abstraction and vocabulary
Monoids
Functors
Monads
Summary
Chapter 11: Applying What We Have 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
Summary
Chapter 12: Real-Life Applications
Reasons to use libraries
The Scalaz library
Writing a complete application
Summary

What You Will Learn

  • Immerse yourself in industry-standard design patterns—structural, creational, and behavioral—to create extraordinary applications
  • See the power of traits and their application in Scala
  • Implement abstract and self types and build clean design patterns
  • Build complex entity relationships using structural design patterns
  • Create applications faster by applying functional design patterns

Authors

Table of Contents

Chapter 1: The Design Patterns Out There and Setting Up Your Environment
Design patterns
Design pattern categories
Choosing 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
Summary
Chapter 3: Unification
Functions and classes
Algebraic data types and class hierarchies
Modules and objects
Summary
Chapter 4: Abstract and Self Types
Abstract types
Polymorphism
Self types
Summary
Chapter 5: Aspect-Oriented Programming and Components
Aspect-oriented programming
Components in Scala
Summary
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
Summary
Chapter 7: Structural Design Patterns
Defining 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
Summary
Chapter 8: Behavioral Design Patterns – Part One
Defining 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
Summary
Chapter 9: Behavioral Design Patterns – Part Two
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
Summary
Chapter 10: Functional Design Patterns – the Deep Theory
Abstraction and vocabulary
Monoids
Functors
Monads
Summary
Chapter 11: Applying What We Have 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
Summary
Chapter 12: Real-Life Applications
Reasons to use libraries
The Scalaz library
Writing a complete application
Summary

Book Details

ISBN 139781788471305
Paperback396 pages
Read More

Read More Reviews

Recommended for You

wxPython 2.8 Application Development Cookbook Book Cover
wxPython 2.8 Application Development Cookbook
$ 23.99
$ 10.00
Scala Machine Learning Projects Book Cover
Scala Machine Learning Projects
$ 35.99
$ 10.00
Mastering Kubernetes - Second Edition Book Cover
Mastering Kubernetes - Second Edition
$ 35.99
$ 10.00
Matplotlib for Python Developers - Second Edition Book Cover
Matplotlib for Python Developers - Second Edition
$ 31.99
$ 10.00
JavaScript and JSON Essentials - Second Edition Book Cover
JavaScript and JSON Essentials - Second Edition
$ 23.99
$ 10.00
Mastering Linux Shell Scripting - Second Edition Book Cover
Mastering Linux Shell Scripting - Second Edition
$ 27.99
$ 10.00