O'Reilly logo
live online training icon Live Online training

Design Patterns Boot Camp II

Eric Freeman
Elisabeth Robson

Design Patterns Bootcamp II is a follow on course for those who have taken the Design Patterns Bootcamp course or have equivalent experience with Design Patterns and object-oriented programming. The course picks up where Bootcamp I left off and continues our exploration of the Gang of Four patterns. By the end of the course we will have covered all the GoF Structural and Creational patterns (along with a fair number of Behavioral patterns).

Design patterns are crucial for building object-oriented software that is reliable, extensible and resilient to change. In a company setting, patterns help teams to move faster and avoid common miscommunication in a development effort.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand::

  • More patterns from the core patterns defined in the original design patterns catalog, Design Patterns: Elements of Reusable Object-Oriented Software (by the “Gang of Four”).
  • More ways to think about how to incorporate design principles into software design.

And you’ll be able to:

  • Communicate more efficiently with co-workers using a broad design pattern vocabulary.
  • Draw on a broad set of proven ideas to solve software design problems.
  • Use more patterns in their everyday software design work.

This training course is for you because...

  • You are a programmer with some experience using an object-oriented programming language, you have taken Design Patterns Bootcamp I (or equivalent) and you want to continue your study of the core design patterns.
  • You are a software designer/architect with some experience using an object-oriented programming language and you want to build software that more flexible and maintainable, and communicate better with your team.
  • You are an engineering manager supervising a team of programmers using object-oriented programming languages and you need to learn how your team can use patterns in the software design process.

Prerequisites

Recommended preparation:

Course Git Repo

Recommended follow-up:

About your instructor

  • Eric Freeman is a computer scientist, technology writer, entrepreneur and former media company CTO (Disney). Eric is currently writing Head First Learn to Code, a beginners book for coding and computational thinking. Eric lives with his wife and young daughter in Austin, Texas. He holds a Ph.D. in Computer Science from Yale University.

  • Elisabeth Robson is the co-author of several Head First books, including Head First Design Patterns, and is a principal at WickedlySmart, an online learning company for software developers.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introduction and Review (20 min)

  • The GOF Patterns
  • The underlying OO Principles
  • How Patterns are defined (the catalog, pattern structure, OO diagrams)
  • Highlights from Design Patterns Bootcamp I

Encapsulating Invocation (20 min)

  • The Command Pattern
  • The Single Responsibility Principle revisited

Encapsulating Algorithms (20 min)

  • The Template Method Pattern
  • Related Design Patterns
  • The Hollywood Principle revisited
  • Q&A
  • BREAK (5 min)

Surrogate Objects (20 min)

  • The Proxy Pattern
  • Three types of Proxies
  • Related Design Patterns

Constructing Objects (15 min)

  • The Builder Pattern
  • Build and Design Principles
  • Related Design Patterns

Encapsulating Abstraction (20 min)

  • The Bridge Pattern
  • Varying the implementation and the abstraction
  • Q&A
  • BREAK (5 min)

Creating by Copying (20 min)

  • The Prototype Pattern
  • Real world prototypes

Managing Objects (20 min)

  • The Flyweight Pattern
  • Loose coupling revisited

Where do I go from here? (15 min)

  • Learning path for where to go after this course including areas of study and resources.
  • Q&A