架构模式

维基百科,自由的百科全书
跳到导航 跳到搜索

架构模式软件架构中在给定环境下常遇到问题的通用的、可重用的解决方案。[1]类似于软件设计模式但覆盖范围更广,致力于软件工程中不同问题,如计算机硬件性能限制、高可用性业务风险极小化。[2][3]一些架构模式在软件框架被实现。

例子[编辑]

子领域 架构模式 软件设计模式 解决方案模式 相关模式
数据集成/面向服务的架构(SOA)
  • 单行(One-way)
  • 同步的请求-响应
  • 基本回调
  • 运单(Claim check)
数据架构英语Data architecture
  • 定制的应用数据库
  • 打包的应用数据库
  • ETL
  • EAI
  • SOA
分析与商业智能
  • 实时dashboards
  • 在内存中分析(In-memory analytics)
  • 统计分析
  • 预测分析
主数据管理英语Master data management
  • 主数据hub
  • 主数据复制
  • 主数据服务
  • 主数据同步
数据建模
  • 建模标准
  • 命名惯例
人工智能
  • 决策管理
  • 语音识别
  • 文本分析与自然语言处理
  • 自然语言生成
  • 传统机器学习
  • 深度学习
  • 机器人流程自动化
  • 图像与视频分析

一些额外的架构模式例子:

参见[编辑]

参考文献[编辑]

  1. ^ R. N. Taylor, N. Medvidović and E. M. Dashofy, Software architecture: Foundations, Theory and Practice. Wiley, 2009.
  2. ^ 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. 
  3. ^ 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.