|This article needs additional citations for verification. (May 2009)|
An architectural pattern is a widely recognised and reused solution to a recurring design problem in the field of software architectures. 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.
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". 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.
- 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|
|Master data management||
Some additional examples of architectural patterns:
- Data Mart
- ETL (Data Extraction, Transformation, & Loading)
- Blackboard system
- Event-driven architecture
- Implicit invocation
- 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)
- Pipe and filter architecture
- Service-oriented architecture
- Chang, Chih-Hung; Lu, Chih-Wei; Lin, Chih-Hao; Yang, Ming-Feng; Tsai, Ching-Fu (June 2008). "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"."
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.