This chapter provided an introduction to design patterns in Python, an important aspect of application development. We started this chapter with an introduction and saw how design patterns are classified. Next we reviewed some key features offered by the Python language that help simplify several design patterns. With practical illustrations, you learned how design patterns can be implemented to provide a solution to recurring problems in application development. More specifically, you learned about strategy, abstract factory, and adapter patterns. For each of these patterns, we first used an interesting game scenario to describe the problem. We then discussed how the design pattern can tackle this problem, and further implemented the design pattern using a Pythonic approach. For some patterns, we also reviewed a traditional approach to implementing the design pattern. Last but not the least, we met some of Sir Foo's new friends.
So far, we have discussed several important aspects...