Abstract

In the mid 1960’s, the architect Christopher Alexander (1964) came up with the idea of Patterns, as “a solution to a problem within a defined context” and developed this concept. He explains, in a very original way, his ideas of urban planning and building architecture, using patterns to explain the “what”, “when”, and “how” of a design. Alexander invented a Pattern Language that is the fundamental to good building and city designs, and describes it in a collection of repetitive schemas called patterns. In Computer Science, software is susceptible to conceptual patterns. Consequently, Ward Cunningham and Kent Beck, used Alexander’s idea to develop a programming pattern language composed of five patterns as an initiation guide for Smalltalk programming. This work was presented at the Object-Oriented Programming, Systems, Languages & Applications Conference (OOPSLA) in 1987. In the early 1990’s, Erich Gamma and Richard Helm did a joint research that resulted in the first specific design patterns catalog. They identified four patterns: Composite, Decider, Observer, and Constrainer patterns. According to many authors, OOPSLA ’91 highlighted the evolutionary process of design patterns. The synergy between Erich Gamma, Richard Helm, Rala Johnson, and John Vlissides (better known as the “Gang of Four” or GoF) and other reputable researchers (Ward Cunningham, Kant Beck or Doug Lea) definitively launched the study of and research into Object Oriented Design Patterns. At the same time, James Coplien, another software engineer, was compiling and shaping a programming patterns catalogue in C++, which was a significant advance in the implementation phase in software development. Coplien’s catalog was published in 1991 under the title “Advanced C++ Programming Styles and Idioms”. Between 1991 and 1994 the concept of pattern design was discussed at international congresses and conferences. All of these encounters culminated in OOPSLA ’94. The GoF took advantage of this event to present their compilation (Gamma, Helm, Johnson & Vlissides, 1995). This publication, considered at that time as the best book on Object Orientation, compiled a 23-pattern catalog, founding the basis of patterns design. The number of pattern-related works, studies and publications in general, but especially in design, has exponentially grown since. However, the different research groups being born must be cataloged into three fundamental paradigms: • Theoretical approximations to the software pattern design concept and pattern languages. Coplien’s work (Coplien, 1996; 2004; Coplien & Douglas, 1995) stands out in this field. • Analysis and compilation of software applications design patterns. Rising’s efforts (Rising, 1998; 2000) and Buschmman (Buschmann, Meunier, Rohnert, Sommerlad & Stal, 1996; Buschmann, Rohnert, Stal & Schmidt, 2000) are included in this classification. • The study of special purpose patterns, like antipatterns (Brown, 1998).

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.