© John F. Dooley 2017

John F. Dooley, Software Development, Design and Coding, https://doi.org/10.1007/978-1-4842-3153-1_11

11. Design Patterns

John F. Dooley

(1)Galesburg, Illinois, USA

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.

—Christopher Alexander1

Do you reinvent the wheel each time you write code? Do you have to relearn how to iterate through an array every time you write a program? Do you have to reinvent how to fix a dangling else in every if-statement you write? Do you need to relearn insertion sort or binary search every time ...

Get Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring 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.