架构模式(architectural pattern)是软件架构中在给定环境下,針對常遇到的问题的、通用且可重用的解决方案。[1]类似于软件设计模式但覆盖范围更广,致力于软件工程中不同问题,如计算机硬件性能限制、高可用性、业务风险极小化。[2][3]一些架构模式會透過软件框架实现。
軟體工程中的「模式」是源自於建筑中的類似概念,例如克里斯托佛·亚历山大在1977年的《建築模式語言》一書,探討在建築中會出現的模式,之後也在軟體工程中使用此一概念。後來,Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 合作出版了《設計模式:可復用物件導向軟體的基礎》(Design Patterns - Elements of Reusable Object-Oriented Software) 一書,設計模式的概念也廣泛地用在軟體工程中。
更多信息 子领域, 架构模式 ...
子领域
|
架构模式
|
软件设计模式
|
解决方案模式
|
相关模式
|
数据集成/面向服务的架构(SOA)
|
|
- 变动数据捕获
- 接近实时的ETL
- 批方式ETL
- 数据挖掘
|
|
|
|
|
|
|
|
|
- 单行(One-way)
- 同步的请求-响应
- 基本回调
- 运单(Claim check)
|
|
数据架构
|
|
|
|
|
分析与商业智能
|
- 业务报表(Transactional reporting)
- 运营分析
- 商业分析学
- 预测分析
- 指导性分析
- 流式分析(Streaming analytics)
- 数据科学与高级分析
- 自然语言处理(NLP)
|
- 业务报表数据访问
- 运营分析数据访问
- 分析报表数据访问
- 分析dashboard数据访问
- 运营dashboard数据访问
- 数据挖掘
|
- 实时dashboards
- 在内存中分析(In-memory analytics)
- 统计分析
- 预测分析
|
|
主数据管理
|
|
|
|
|
数据建模
|
|
|
|
|
人工智能
|
- 决策管理
- 语音识别
- 文本分析与自然语言处理
- 自然语言生成
- 传统机器学习
- 深度学习
- 机器人流程自动化
- 图像与视频分析
|
|
|
|
关闭
一些额外的架构模式例子:
- 软件架构风格与模式列表
- 过程驱动的消息服务
- 企业架构
R. N. Taylor, N. Medvidović and E. M. Dashofy, Software architecture: Foundations, Theory and Practice. Wiley, 2009.
Chang, Chih-Hung; Lu, Chih-Wei; Lin, Chih-Hao; Yang, Ming-Feng; Tsai, Ching-Fu. 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): 185–194. June 2008 [2012-05-16]. (原始内容存档于2011-09-22). 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. [2012-05-16]. (原始内容存档于2012-06-23). 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. Architectural patterns revisited:a pattern language. 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July. 2005.
- Bass L.; Clements P.; Kazman R. Software Architecture in Practice: Second Edition. Addison-Wesley. 2005.