Architectural Patterns:

Software systems are composed from identifiable components and connectors of various distinct types. The components mediate interact in identifiable, distinct ways , and the connectors mediate interactions among components.It is possible to define a architectural style for a collection of related systems. The style determines a coherent vacabulary of components and connectors and rules for their composition. It structures a design space for a family of related systems and reduces cost of implementation through reusable infrastructure.

Objective and Scope:

These can be identified by abstracting from the details of architectural styles. The main objective of this absraction is to make the informal pattern clear thus laying ground for subsequent formalization. These patterns impose an overall structure for a software system or subsystem that is appropriate to the problem domain and clarify designer's intentions about the organization of the system or subsystem.

Examples:

Pipeline Pattern

Template:

  • Problem: The characteristics of the application requirements that lead the designer to select this pattern.

  • Context:The context in which the pattern applies.

  • Solution:The system model captured by the pattern(the intuition about how the pattern's elements are integrated), together with the components, connectors, and the control structure that makes up the pattern.

  • Diagram: A figure showing the pattern's structure, components, and connectors.

  • Significant Variants- major variants to the basic pattern

  • Examples: referances to examples that apply this pattern.