In the previous chapter, we explored Object-Oriented Programming (OOP) and accepted it as the preferred programming approach for this and the remaining chapters in the book. We learned the key OOP principles—concise objects, encapsulation to protect, and purposeful inheritance—and we will see evidence of those principles in the design patterns and source code presented throughout this book.
In this chapter, we will explore the behavioral design pattern category and its individual design patterns listed as follows. We will examine programming challenges and the behavioral design patterns that solve them:
- Introducing behavioral design patterns
- Chain of responsibility pattern
- Command pattern
- Interpreter pattern
- Iterator pattern
- Mediator pattern
- Memento pattern
- Null object pattern
- Observer pattern
- State pattern
- Strategy pattern
- Template method...