Foreword

 

"Controlling complexity is the essence of computer programming."

 
 --Brian Kernighan
 

"All problems in computer science can be solved by another level of indirection (abstraction)."

 
 --David Wheeler

The preceding two quotes by two well known computer scientists illustrate the problem faced by the modern software designer—coming up with a good, stable, reusable, flexible solution to a software design problem.

Design patterns solve the preceding problems in the most elegant way. Design patterns abstract and present in neat, well-defined components and interfaces the experience of many software designers and architects over many years of solving similar problems. These are solutions that have withstood the test of time with respect to reusability, ...

Get Learning Python Design Patterns - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.