更新时间:2021-07-16 16:51:41
封面
版权信息
前言
第一部分 架构设计方法论
第1章 架构师的修炼
1.1 何为软件架构
1.1.1 常见研发场景
1.1.2 准确理解软件架构
1.2 如何成为合格的架构师
1.2.1 架构师的职责
1.2.2 架构师的思维模式
1.3 如何成为顶级的架构师
1.3.1 能够将业务转换为技术
1.3.2 能合理利用技术支撑业务
1.3.3 具备前瞻思维和战略思维
1.4 “5视图法”架构设计
第2章 逻辑架构设计
2.1 用例模型分析
2.1.1 用例模型
2.1.2 由粗到细的用例分析
2.1.3 用例描述
2.1.4 事件流
2.1.5 业务需求列表
2.1.6 需求规格说明书
2.2 界面原型分析
2.3 领域模型分析
2.3.1 软件退化的根源
2.3.2 两顶帽子的设计方式
2.3.3 领域驱动的设计思想
2.3.4 领域驱动的变更设计
2.3.5 领域驱动设计总结
2.4 技术可行性分析
第3章 数据架构设计
3.1 数据架构的设计过程
3.2 基于领域的数据库设计
3.2.1 传统的4种关系
3.2.2 继承关系
3.2.3 NoSQL数据库的设计
3.3 基于领域的程序设计
3.3.1 服务、实体与值对象
3.3.2 贫血模型与充血模型
3.3.3 聚合
3.3.4 仓库与工厂
3.3.5 问题域和限界上下文
第4章 开发架构设计
4.1 系统规划与接口定义
4.1.1 系统规划
4.1.2 接口定义
4.2 系统分层与整洁架构
4.2.1 系统分层
4.2.2 底层技术更迭
4.2.3 整洁架构设计
4.2.4 易于维护的架构
4.3 技术中台建设
4.3.1 增删改的架构设计
4.3.2 查询功能的架构设计
4.3.3 支持领域驱动的架构设计
4.3.4 支持微服务的架构设计
4.4 技术选型与技术规划
4.4.1 软件正确决策的过程
4.4.2 商用软件与开源框架
4.5 模块划分与代码规范
第5章 运行架构设计
5.1 属性→场景→决策
5.2 非功能性需求
5.3 恰如其分的架构设计
5.4 技术架构演化
5.4.1 意图架构
5.4.2 使能故事
5.4.3 架构跑道
5.4.4 我们的实践
5.5 技术改造与软件重构
5.5.1 架构师的十年奋斗
5.5.2 演化式的技术改造思路
5.5.3 一个遗留系统改造的故事
第6章 物理架构设计
6.1 集中式与分布式
6.2 网络架构图
6.3 系统架构与应用架构
第二部分 分布式架构设计与实践
第7章 分布式架构设计
7.1 互联网架构演进
7.1.1 All-in-One架构
7.1.2 流量在1000万以内的架构设计
7.1.3 流量在1000万以上的架构设计
7.1.4 流量在5000万以上的架构设计
7.1.5 亿级流量的架构设计
7.2 分布式技术
7.2.1 分布式缓存
7.2.2 内存数据库
7.2.3 分布式事务
7.2.4 分布式队列
7.2.5 分布式数据库
第8章 微服务架构设计
8.1 为什么要采用微服务架构
8.1.1 快速变化需要快速交付
8.1.2 打造高效的团队组织
8.1.3 大前端+技术中台
8.1.4 小而专的微服务
8.1.5 微服务中的去中心化概念