This chapter focuses on how the behavior of an application can be changed during runtime to achieve flexibility, modularity, and scalability. The following table shows you a summary of behavioral design patterns discussed in this chapter:
Design pattern |
Summary |
Chain of responsibility |
Chaining multiple handlers to process the same request |
Command |
Creating an object of an operation to be invoked at a later time |
Interpreter |
Interpreting a language |
Visitor |
Handling problems associated with double dispatch |
Memento |
Storing various versions of an object |
Observer |
Sending notifications to all subscribers |
State |
Encapsulating state-specific operations |
Strategy |
Choosing an algorithm at runtime |