For faster navigation, this Iframe is preloading the Wikiwand page for 架构模式.

架构模式

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

软件工程中的“模式”是源自于建筑中的类似概念,例如克里斯托佛·亚历山大在1977年的《建筑模式语言英语A Pattern Language》一书,探讨在建筑中会出现的模式,之后也在软件工程中使用此一概念。后来,Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 合作出版了《设计模式:可复用面向对象软件的基础》(Design Patterns - Elements of Reusable Object-Oriented Software) 一书,设计模式的概念也广泛地用在软件工程中。

例子

子领域 架构模式 软件设计模式 解决方案模式 相关模式
数据集成/面向服务的架构(SOA)
  • 变动数据捕获英语Change data capture]]]
  • 接近实时的ETL
  • 批方式ETL
  • 数据挖掘
  • 单行(One-way)
  • 同步的请求-响应
  • 基本回调
  • 运单(Claim check)
数据架构英语Data architecture
  • 定制的应用数据库
  • 打包的应用数据库
  • ETL
  • EAI
  • SOA
分析与商业智能
  • 业务报表数据访问
  • 运营分析数据访问
  • 分析报表数据访问
  • 分析dashboard数据访问
  • 运营dashboard数据访问
  • 数据挖掘
  • 实时dashboards
  • 在内存中分析(In-memory analytics)
  • 统计分析
  • 预测分析
主数据管理英语Master data management
  • 主数据hub
  • 主数据复制
  • 主数据服务
  • 主数据同步
  • 变动数据捕获英语Change data capture]]]
  • 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. 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. 
{{bottomLinkPreText}} {{bottomLinkText}}
架构模式
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?