热爱实践而又不讲求科学的人,就好像一个水手进了一只没有舵或罗盘的船,他从来不肯定他往那里走。
——达芬奇
首先,在维基百科中是这样介绍的,“有些人将架构模式和架构风格视为相同的,有些人将风格视为模式的专门化。它们的共同点是,模式和风格都是架构师使用的习惯用法,它们“提供了一种通用语言”或“词汇”来描述系统的类别。”也就是说架构风格和架构模式几乎是在说同一件事,从顶层设计方面,使用抽象方法,描述系统组织方式的惯用法。
在软件方面的模式(惯用法)有很多,可以分为三个层次:架构模式(Architectural Pattern),设计模式(Design Pattern),代码模式(Coding Pattern)。
- 架构模式
通常所认为的架构模式有以下几种
黑板系统 Blackboard
客服端服务器模式 Client-server (2-tier, 3-tier, n-tier, cloud computing exhibit this style)
基于组件的架构模式 Component-based
以数据为中心 Data-centric
事件驱动(隐式调用) Event-driven (or implicit invocation)(EDA)
层次结构 Layered (or multilayered architecture)
微服务架构 Microservices architecture