Architectural pattern (computer science)


Architectural pattern (computer science)

Architectural patterns are software patterns that offer well-established solutions to architectural problems in software engineering. It gives description of the elements and relation type together with a set of constraints on how they may be used. An architectural pattern expresses a fundamental structural organization schema for a software system, which consists of subsystems, their responsibilities and interrelations. In comparison to design patterns, architectural patterns are larger in scale.

Even though an architectural pattern conveys an image of a system, it is not an architecture as such. An architectural pattern is rather a concept that captures essential elements of a software architecture. Countless different architectures may implement the same pattern and thereby share the same characteristics. Furthermore, patterns are often defined as something "strictly described and commonly available". For example, layered architecture is a call-and-return style, when it defines an overall style to interact. When it is strictly described and commonly available, it is a pattern.

One of the most important aspects of architectural patterns is that they embody different quality attributes. For example, some patterns represent solutions to performance problems and others can be used successfully in high-availability systems. In the early design phase, a software architect makes a choice of which architectural pattern(s) best provide the system's desired qualities.

Examples of architectural patterns include the following:

*Layers
*Presentation-abstraction-control
*Three-tier
*Pipeline
*Implicit invocation
*Blackboard system
*Peer-to-peer
*Service-oriented architecture
*Naked objects
*Model-View-Controller

References

Cite journal

last = Avgeriou

first = Paris

coauthors = Uwe Zdun

title = Architectural patterns revisited:a pattern language

journal = 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July

date = 2005

url=http://wi.wu-wien.ac.at/home/uzdun/publications/ArchPatterns.pdf

cite book
author=Buschmann F., Meunier R., Rohnert H. & Sommerlad P. & Stal M.
year=1996
title=Pattern-Oriented Software Architecture: A System of Patterns
publisher = John Wiley & Sons
url = http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471958697.html


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Design pattern (computer science) — In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for …   Wikipedia

  • computer science — computer scientist. the science that deals with the theory and methods of processing information in digital computers, the design of computer hardware and software, and the applications of computers. [1970 75] * * * Study of computers, their… …   Universalium

  • List of computer science conferences — This is a list of academic conferences in computer science. Most of these academic conferences are annual or bi annual events.The order with which the conferences are listed in their respective fields corresponds to a rough and non authoritative… …   Wikipedia

  • Abstraction (computer science) — In computer science, abstraction is the process by which data and programs are defined with a representation similar to its pictorial meaning as rooted in the more complex realm of human life and language with their higher need of summarization… …   Wikipedia

  • Optimization (computer science) — In computing, optimization is the process of modifying a system to make some aspect of it work more efficiently or use fewer resources. For instance, a computer program may be optimized so that it executes more rapidly, or is capable of operating …   Wikipedia

  • Lock (computer science) — In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies. Contents 1 Types 2… …   Wikipedia

  • Pattern (architecture) — Pattern in architecture is the idea of capturing architectural design ideas as archetypal and reusable descriptions. The term pattern is usually attributed to Christopher Alexander,[1] an Austrian born American architect. The patterns serve as an …   Wikipedia

  • Pattern language — A pattern language is a structured method of describing good design practices within a field of expertise. It is characterized by Fact|date=June 2008 # Noticing and naming the common problems in a field of interest, # Describing the key… …   Wikipedia

  • Pattern — A pattern, from the French patron, is a theme of recurring events or objects, sometimes referred to as elements of a set. These elements repeat in a predictable manner. It can be a template or model which can be used to generate things or parts… …   Wikipedia

  • Pattern (disambiguation) — A pattern is a form, template, or model. Pattern can refer to: * Pattern (devotional), in Irish Catholicism, the devotional practices associated with a patron saint * Pattern theory, in mathematics * Airfield traffic pattern, the traffic flow… …   Wikipedia