At the core of professional programming practice is a thorough knowledge of software design patterns. In this course, Building More Python Design Patterns, you'll learn eight more patterns and how to implement them in Python. First, you'll learn how to recognize problems that are solvable using design patterns. Next, you'll explore how to implement them professionally. Finally, you'll discover how they can be used to make your programs easier to write, read, and maintain. When you're finished with this course, you'll have grown your knowledge of the elements of reusable object-oriented software design that will help you as you move beyond simple scripts to complex systems built in Python.