架構模式(architectural pattern)是軟件架構中在給定環境下,針對常遇到的問題的、通用且可重用的解決方案。[1]類似於軟件設計模式但覆蓋範圍更廣,致力於軟件工程中不同問題,如計算機硬件性能限制、高可用性、業務風險極小化。[2][3]一些架構模式會透過軟件框架實現。
軟件工程中的「模式」是源自於建築中的類似概念,例如克里斯托佛·亞歷山大在1977年的《建築模式語言》一書,探討在建築中會出現的模式,之後也在軟件工程中使用此一概念。後來,Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides 合作出版了《設計模式:可復用物件導向軟件的基礎》(Design Patterns - Elements of Reusable Object-Oriented Software) 一書,設計模式的概念也廣泛地用在軟件工程中。
More information 子領域, 架構模式 ...
子領域
|
架構模式
|
軟件設計模式
|
解決方案模式
|
相關模式
|
數據集成/面向服務的架構(SOA)
|
|
- 變動數據捕獲
- 接近實時的ETL
- 批方式ETL
- 數據挖掘
|
|
|
|
|
|
|
|
|
- 單行(One-way)
- 同步的請求-響應
- 基本回調
- 運單(Claim check)
|
|
數據架構
|
|
|
|
|
分析與商業智能
|
- 業務報表(Transactional reporting)
- 運營分析
- 商業分析學
- 預測分析
- 指導性分析
- 流式分析(Streaming analytics)
- 數據科學與高級分析
- 自然語言處理(NLP)
|
- 業務報表數據訪問
- 運營分析數據訪問
- 分析報表數據訪問
- 分析dashboard數據訪問
- 運營dashboard數據訪問
- 數據挖掘
|
- 實時dashboards
- 在內存中分析(In-memory analytics)
- 統計分析
- 預測分析
|
|
主數據管理
|
|
|
|
|
數據建模
|
|
|
|
|
人工智能
|
- 決策管理
- 語音識別
- 文本分析與自然語言處理
- 自然語言生成
- 傳統機器學習
- 深度學習
- 機械人流程自動化
- 圖像與視頻分析
|
|
|
|
Close
一些額外的架構模式例子:
- 軟件架構風格與模式列表
- 過程驅動的消息服務
- 企業架構
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.