Architectural patterns definition

Architectural patterns are fundamental organisational descriptions of the common top-level structure observed in a group of software systems. They can be viewed as templates, expressing and specifying structural properties of their subsystems, and the responsibilities and relationships between them. The selection of an architectural pattern is considered to be a fundamental decision during the design of the overall structure of a software system [POSA96, Shaw95].

The initial attraction to architectural patterns is the promise of minimising the effects of imminent changes of requirements on the overall system structure. As they represent a means to capture and express experience in the design and development process of software, their use is expected to be beneficial during early stages of the software life cycle [Shaw95].

The patterns here share a formal structure, containing a name, a summary, examples, a problem statement (including a description of its forces), a solution statement (covering descriptions of its structure, participants, basic dynamics and implementation steps), consequences (describing benefits and liabilities), known uses and related patterns. These elements provide a uniform template for browsing pattern descriptions contained in several pattern systems [PLoP94, PLoP95, GHJV95, Gab96, POSA96], making it easy to look for and find information about when and how to use each pattern.


Contact Information

Jorge Luis Ortega Arjona.

E-mail jortega-arjona@acm.org