14. Design Patterns

So what, exactly, is a design pattern? Basically, it’s a solution to a common problem. Sometimes patterns are expressed as class diagrams, but they’re more often a diagram that describes a “who does what” scenario at a fairly high level. The idea of a design pattern was first developed by the architect Christopher Alexander, whose books The Timeless Way of Building and A Pattern Language proposed patterns for common architectural problems. It was applied to software engineering by Gamma, Helm, Johnson and Vlissides (familiarly known as the Gang of Four) in their influential Design Patterns: Elements of Reusable Object-Oriented Software.

In the last chapter we looked at a few of the principles that theoreticians have proposed ...

Get Fluent C# 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.