- View Offline
- 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
Skill Level Intermediate
- [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.