架构模式

架构模式(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
  • 数据挖掘
  • 受管文件传输(MFT)
  • 单行(One-way)
  • 同步的请求-响应
  • 基本回调
  • 运单(Claim check)
数据架构
  • 定制的应用数据库
  • 打包的应用数据库
  • ETL
  • EAI
  • SOA
分析与商业智能
  • 业务报表数据访问
  • 运营分析数据访问
  • 分析报表数据访问
  • 分析dashboard数据访问
  • 运营dashboard数据访问
  • 数据挖掘
  • 实时dashboards
  • 在内存中分析(In-memory analytics)
  • 统计分析
  • 预测分析
主数据管理
  • 主数据hub
  • 主数据复制
  • 主数据服务
  • 主数据同步
  • 变动数据捕获
  • EAI
  • STD
数据建模
  • 维度数据建模
  • 实体关系数据建模
  • 建模标准
  • 命名惯例
人工智能
  • 决策管理
  • 语音识别
  • 文本分析与自然语言处理
  • 自然语言生成
  • 传统机器学习
  • 深度学习
  • 机器人流程自动化
  • 图像与视频分析

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

参见

  • 软件架构风格与模式列表
  • 过程驱动的消息服务
  • 企业架构

参考文献

  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. . 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. . 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. . 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July. 2005.
  • Buschmann F.; Meunier R.; Rohnert H.; Sommerlad P.; Stal M. . John Wiley & Sons. 1996 [2019-07-17]. (原始内容存档于2017-11-29).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.