Direct Execution of Design Patterns

Direct Execution of Design Patterns

Birol Aygün
Copyright: © 2015 |Pages: 10
DOI: 10.4018/978-1-4666-5888-2.ch582
(Individual Chapters)
No Current Special Offers

Chapter Preview


2. Background

A major exposition of software patterns was made in “Elements of Reusable Object-oriented Software” (Gamma, Helm, Johnson & Vlissides,. 1994) containing a pattern catalog with structured explanations and examples of usage of each type. This catalog also classified design patterns into three generic groups:

  • 1.

    Creational Patterns,

  • 2.

    Structural Patterns,

  • 3.

    Behavioural Patterns.

Another useful paper in this area is (Buschmann, Meunie, Rohnert, Sommerland & Stal, 1996).

Efforts have been made to formalize and model pattern diagrams and descriptions to make them more rigorously definable which may be conceptually useful in our approach as well (Eden, 2011).

Software design patterns area has also been approached with a view towards “componentization.” Origins of this approach may be traced to the now-classic paper “Trusted Components for Software Industry” (B. Meyer et al., Eiffel Software”, accessed on 13/11/2013), emphasizing the inadequacy of commonly suggested approaches for developing reliable software and arguing that in order to be able to write reliable software, software developers need reliable components they can use. This work was followed by Karine Arnout, a doctoral student of B. Meyer, whose PhD thesis titled “From Patterns to Components (Arnout, 2004) emphasized the need to make software design patterns reliable components. In her thesis Arnout defined a software component as follows:

Key Terms in this Chapter

Software Development Process (SDLC): The process by which a software development and maintenance project are carried out.

Software Framework: A software structure with facilities for software development, such as language translators, debugging facilities, libraries.

Software Architecture Pattern: Software architecture following a certain pre-defined pattern, similar to a two apartments-per floor architecture.

Pattern Machine: A machine that has detailed knowledge about one or more patterns and can aid the user in using them, such as the one described in this article.

Model-Driven Design (MDD): The design process which starts with a pre-defined model of its domain.

Virtual Machine: A machine built by software with specific properties, and hides the hardware machine from the user.

Software Architecture: Overall arrangement of software components, similar to the arrangement of apartments in a building.

Software Design Pattern: Design of a software component in an architecture, using a pre-defined pattern, such as a proxy pattern. Similar to the pattern of an apartment in a building.

Complete Chapter List

Search this Book: