50 likes | 74 Views
Explore the journey of design patterns from inspirations in architecture to their application in software engineering. Discover how experts like the Gang of Four formalized best practices, paving the way for efficient problem-solving in software design.
E N D
Gang of FourThe beginnings… • The original “patterns” idea was from architecture – there are repeatable patterns for doing things like design work well. I.e., “A Cape Cod house should have dormers.” • 1970-s: "A Pattern Language" , by Christopher Alexander, et al. , 1977 (available at amazon.com), captured such practices in a clear style, describing the circumstances and the results of a particular design practice.
Gang of FourFrom there – engineers picked it up • In engineering, much of this same kind of knowledge is passed down as “best practices” and “heuristics” from more experienced to younger engineers. • They also got the idea of formalizing this guidance and analyzing it systematically. E.g., “Build a replacement bridge right next to the old bridge. At the last minute, switch all the traffic over, from old to new.”
Gang of Fourand software people, too… • 1980-s: Hillside Group - Beck, Ward, Coplien, Grady Booch (!), Kerth, Johnson, etc. began applying pattern ideas to software. • 1995 - the famous book - Design Patterns: Elements of Reusable Object Oriented Software, by the so-called Gang of Four (GoF), that is Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Here they are!
Gang of Four • In this book they showed stylistically how to unleash the power of OO programming to solve very common software design problems. E.g., “Abstract Factory” – How to build a class in general, so that other classes fill in the details of that in various ways, later on. Sound a little bit like interfaces might be involved?