-
了解软件架构模式概念
-
学习常见的架构模式
-
熟悉架构模式应用方法

万物皆是接口,万物都是增删改查
概念
架构的定义
架构是构成一个系统的基础组织结构,包括系统的组件构成,组件间的相互关系、系统和其所在环境的关系、以及知道架构设计和演进的相关准则。
架构的特性
-
架构定义系统的结构
-
架构定义系统的行为和交互
-
架构只关注影响系统的重要元素
-
架构遵循一种架构风格
-
架构需要平衡干系人的需求
-
架构受所处环境的约束,反过来也影响它的环境
-
架构不仅仅要实现最后产出,还必须保证是合理和正确的。
-
-
跟我重复:上下文、上下文、上下文。
架构风格
架构风格定义:以结构组织模式定义的一类系统族。一种软件体系结构风格刻画了一个类似结构和语义的系统家族。内容包括:
-
构件
-
交互关系
-
约束条件
遵循架构风格的好处:
-
建立共识
-
架构遵循某种风格,使相关人员更加理解架构,降低沟通成本。
-
遵循架构风格,可以加快架构选型。
-
-
架构沉淀
-
基于架构风格,可以快速的明确架构中需要复用/沉淀的构件,形成架构框架。
-
-
促进复用
-
架构规划中遵循适合的架构风格,可以提升效率,规避风险。
-
设计中遵循架构风格,提升开发效率。
-
| 架构风格 | 风格分类 |
|---|---|
| 数据流风格 | 批处理 |
| 管道/过滤器 | |
| 调用/返回风格 | 主程序/子程序 |
| 面对对象风格 | |
| 层次风格 | |
| 独立构建风格 | 进程通讯 |
| 事件系统 | |
| 虚拟机风格 | 解释器 |
| 基于规则的系统 | |
| 仓库风格 | 数据库系统 |
| 超文本系统 | |
| 黑板系统 |
框架是软件,架构不是软件

框架的作用:
-
通过框架实现了架构的沉淀落地
-
框架的质量决定了系统整体架构的质量
-
对框架的验证,验证了整体系统架构
架构模式
-
模式定义:模式(Pattern)是表示上下文(Context)、系统目(System of Forces)、 解决方案(Solution)三个方面关系的一个规则,每个模式描述了一个在某种 Context 下个跌里风发生的问题,以及该问题解决方案的核心所在,模式即是一个事物(thing)又是一个过程(process),不仅描述该事物本身,而且提出了通过怎样的过程来产生该事物。
-
架构模式定义:
-
架构模式是对以往系统的架构抽象而形成的模板
-
是对某个具体环境下问题的结构性解决方案
-
内容包括:
-
提供一些事先定义好的子系统,指定它们的责任
-
给出把它们组织在一起的法则和指南.
-
-
-
架构风格与架构模式的异同:
-
概念上,通常可以互用
-
架构风格反映了系统遵循的某种模式,是一类系统的抽象总结描述
-
架构模式,是架构风格具体化的模板,可以包含—种或多种架构风格,是为了实现某个目标,而形成的解决方案模板。
-
模式的构成

模式的层次分类
架构模式(ArchitectureStyles):
-
是系统的高层次策略,涉及到大尺度的组件以及整体性质
-
可作为具体软件架构的模板,是开发一个软件系统时的基本设计决策
-
规定了系统范围结构特性,架构模式的好坏影响到总体布局和框架性结构
-
架构模式如:分层架构、SOA架构、事件驱动架构等
设计模式(Design Patterns):
-
是中等尺度的结构策略。实现了一些大尺度组件的行为和它们之间的关系
-
模式的好坏不会影响到系统的总体布局和总体框架
-
设计模式定义出子系统或组件的微观结构
-
设计模式如:代理模式、观察者模式等23个基本设计模式
代码模式(Idioms):
-
是特定的范例和与特定语言有关的编程技巧
-
处理特定设计问题的实现,关注设计和实现方面
-
模式的好坏会影响中等尺度组件的内部、外部的结构或行为的底层细节
-
如:比如,类名,变量名,函数名的命名规则;编码规范;异常处理的规则等
FEAF(联邦企业架构框架)

常见的架构模式
架构的崩坍

向前兼容、向后兼容
六种常见的架构模式
-
分层架构
-
SOA架构
-
微服务架构
-
事件驱动架构
-
内存空间架构
-
微内核架构

分层架构


分层架构反模式 - 层开放

分层架构模式评估

SOA架构

SOA架构的基本特征

SOA参考模型

SOA的优缺点

SOA架构模式评估

微服务
微服务架构来源分析

微服务架构特征1

微服务架构特征2

微服务架构 - 拓扑结构1

微服务架构 - 拓扑结构2

微服务与SOA架构差异

微服务粒度问题

六大架构模式评估
架构设计原则和过程

明确架构大方向 - 架构模式的选择

架构评估 - 运行态架构质量

架构评估 - 开发态架构质量

架构的平衡性评估 - 架构质量间的关系

混搭的架构模式

架构模式与技术专业委员会的关系





