In this chapter, we covered several creational, structural, and behavioral design patterns. You used the knowledge that you gained in this chapter to look at legacy code and understand its goal. Then, you used the patterns that you learned to implement in this chapter to refactor existing code and make it easier to read, reason, maintain, and extend. By using the patterns in this book, and the many others that are available to you, you can refactor existing code and write clean code from the start.
You also used the creational design patterns to solve real-world problems and to improve the efficiency of your code. Use structural design patterns to improve the overall structure of code and improve relations between objects. Also, use behavioral design patterns to improve communication between objects whilst maintaining the decoupling of those objects.
Well, this is the end of the chapter, and I thank you for taking the time to read this book and work through...