Architectural pattern
|
|
This article has multiple issues. Please help improve it or discuss these issues on the talk page.
|
An architectural pattern is a standard design in the field of software architecture. The concept of an architectural pattern has a broader scope than the concept of design pattern. The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk. Some architectural patterns have been implemented within software frameworks.
Contents |
Definition [edit]
Even though an architectural pattern conveys an image of a system, it is not an architecture. An architectural pattern is a concept that solves and delineates some essential cohesive elements of a software architecture. Countless different architectures may implement the same pattern and share the related characteristics. Patterns are often defined as "strictly described and commonly available".[1][2] For example, the layered architecture is a call-and-return style because it defines an overall style to interact. When it is strictly described and commonly available, it is a pattern.
Examples [edit]
- Enterprise Architecture framework Patterns in Enterprise Architecture Domains
Here is a list of Architecture Patterns, Design Patterns, and Solution Patterns in the Application and Information Architecture Domains.
| Sub-Domain Area | Architecture Pattern Name | Design Patterns | Solution Patterns | Related Patterns |
|---|---|---|---|---|
| Data Integration/SOA |
|
|
||
|
||||
| Data Architecture |
|
|
||
| Business Intelligence |
|
|
|
|
| Master data management |
|
|
|
|
| Data Modeling |
|
Some additional examples of architectural patterns:
- Data Mart
- ETL (Data Extraction, Transformation, & Loading)
- Blackboard system
- Event-driven architecture
- Implicit invocation
- Layers
- Model-View-Controller, Presentation-abstraction-control, Model View Presenter, and Model View ViewModel
- Multitier architecture (often three-tier or n-tier)
- Naked objects
- Operational Data Store (ODS)
- Peer-to-peer
- Pipe and filter architecture
- Service-oriented architecture
See also [edit]
References [edit]
- ^ Chang, Chih-Hung; Lu, Chih-Wei; Lin, Chih-Hao; Yang, Ming-Feng; Tsai, Ching-Fu (2008-06). "An Experience of Applying Pattern-based Software Framework to Improve the Quality of Software Development: 4. The Design and Implementation of OS2F". Journal of Software Engineering Studies, Vol. 2, No. 6. the Third Taiwan Conference on Software Engineering (TCSE07). pp. 185–194. Retrieved 2012-05-16. "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."
- ^ "Architectural Patterns: Definition". AAHN INFOTECH (INDIA) PVT. LTD. Retrieved 2012-05-16. "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 solves and delineates some essential cohesive elements of a software architecture. Countless different architectures may implement the same pattern and thereby share the related characteristics. Furthermore, patterns are often defined as something "strictly described and commonly available"."
- ^ Hooshmand, Yadollah. "Architectural Patterns".
Avgeriou, Paris; Uwe Zdun (2005). "Architectural patterns revisited:a pattern language". 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July. Buschmann F., Meunier R., Rohnert H. & Sommerlad P. & Stal M. (1996). Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons. Bass L., Clements P., Kazman R. (2005). Software Architecture in Practice: Second Edition. Addison-Wesley.