50 likes | 70 Views
Gang of Four The 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.”
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?