The evolution of patterns...from architecture to software design
Alexander’s thinking on design patterns has been applied very intensively over the last ten years in one area of computer systems development, that is object-oriented programming. In An Introduction to Software Design Patterns (1999), Chris Collins provides a summary of the who’s who of pattern development in the field of software engineering:
Software design patterns capture successful solutions to recurring design problems in order that they may be applied again in similar situations. The pattern describes the problem, the solution, the context, and the consequences of using the solution. They provide high level abstract building blocks to use in the construction of the software design.
The ideas behind Software Design Patterns originated from the field of architecture and the work of Christopher Alexander. Kent Beck and Ward Cunningham were two of the first people to recognize the applicability of Alexander’s work within the field of software engineering. They had been studying Alexander’s work and decided to implement some of their ideas they had formulated in 1987 to help designers take advantage of Smalltalk's strengths and avoid its weaknesses.
At around the same time Jim Coplien was working on some specific C++ patterns called idioms and Erich Gamma was realizing the value of recording recurring design patterns while working on his doctoral dissertation. The work of Beck, Cunningham, Coplien, Gamma came together when they along with some others met at the Object-Oriented Programming, Systems, Languages, and Systems (OOPSLA) conference in 1991 and held several workshops on patterns. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides formally got together at a workshop on patterns held at the next OOPSLA ’92 and later would write the seminal work on design patterns titled Design Patterns - Elements of Reusable Object-Oriented Software. Gamma, Helm, Johnson, and Vlissides are now often referred to as the \"Gang of Four (GoF)\".
In 1993 Kent Beck and Grady Booch held a mountain retreat in Colorado where a group of patterns enthusiast got together and discussed the work of Alexander and how it could be applied to designing software. The \"Hillside Generative Patterns Group\" was formed out of this retreat. The "Hillside Group" organized the first conference on patterns called the "Pattern Languages of Programming" (PLoP) in 1994. The success of the PLoP conference and the unveiling of the "Gang-of-Four" book at the 1994 OOPSLA conference ignited an explosion of interest in design patterns and now design patterns are ubiquitous in the current software engineering literature such as the "Communications of the ACM", "Journal of Object-Oriented Programming", "C++ Report", "IEEE Computer", etc., and there are also numerous books on the subject. There were many other people who contributed to the pattern community but the above provides a brief history of the more notable milestones and achievements.
Comments (0)
You don't have permission to comment on this page.