Foundations of Programming: Design Patterns

with Elisabeth Robson and Eric Freeman
please wait ...
Foundations of Programming: Design Patterns
Video duration: 0s 2h 19m Intermediate


Design patterns are reusable solutions that solve the challenges software developers face over and over again. Rather than reinventing the wheel, learn how to make use of these proven and tested patterns that will make your software more reliable and flexible to change. This course will introduce you to design patterns and take you through seven of the most used object-oriented patterns that will make your development faster and easier. Elisabeth Robson and Eric Freeman, coauthors of Head First Design Patterns, join forces to provide an overview of each pattern and examples of the pattern in action. Featured design patterns include the strategy, observer, decorator, singleton, collection, state, and factory method patterns.

Topics include:
  • What are design patterns?
  • Encapsulating code that varies with the strategy pattern
  • Setting behavior dynamically
  • Implementing the observer pattern
  • Creating chaos with inheritance
  • Extending behavior with composition
  • Dealing with multithreading and the singleton pattern
  • Revising the design for a state machine
  • Encapsulating iteration with the collection pattern
  • Encapsulating object creation with the factory method pattern


- [Voiceover] Hi, I'm Eric Freeman and welcome to Foundations of Programming Design Patterns. - [Voiceover] And I'm Elizabeth Robson. Together, Eric and I will be your tour guides for this course. - [Voiceover] So what are design patterns? They're solutions to common software design problems that occur over and over in software development. - [Voiceover] We'll start by showing you how to dynamically change the behavior of your classes with the strategy, decorator, and state patterns. Then we'll show you how to manage communication between objects with the observer pattern. Next, we'll show you how to manage object creation with the singleton pattern and we'll show you how to encapsulate those aspects of your code that are likely to change with the iterator and factory patterns.

- [Voiceover] I'll start off by giving a broad overview of each design pattern to introduce the concepts and to describe how the pattern works. - [Voiceover] And then I'll dive a little deeper into the pattern and show you how to implement a design in code. This is where you get to see the design patterns in action. - [Voiceover] We've got a lot to cover so let's get started.

please wait ...