更新时间:2024-03-04 16:57:16
封面
版权信息
作者简介
前言
第一部分 软件架构的概念和组成部分
第1章 软件架构的重要性和良好的设计原则
1.1 技术要求
1.2 软件架构
1.3 适当架构的重要性
1.3.1 软件腐朽
1.3.2 意外架构
1.4 优秀架构的基本原理
1.4.1 架构上下文
1.4.2 相关方
1.4.3 业务和技术环境
1.5 使用敏捷原则开发架构
1.6 C++的哲学思想
1.7 SOLID和DRY原则
1.7.1 单一责任原则
1.7.2 开放封闭原则
1.7.3 里氏替换原则
1.7.4 接口隔离原则
1.7.5 依赖倒置原则
1.7.6 DRY原则
1.8 耦合和内聚
1.8.1 耦合
1.8.2 内聚
1.9 总结
问题
进一步阅读
第2章 架构风格
2.1 技术要求
2.2 有状态风格和无状态风格
2.3 单体风格
2.4 服务和微服务
2.5 基于事件的架构
2.5.1 基于事件的常见拓扑结构
2.5.2 事件溯源
2.6 分层架构
2.7 基于模块的架构
2.8 总结
第3章 功能性和非功能性需求
3.1 从源代码生成文档必备的技术要求
3.2 需求的类型
3.2.1 功能性需求
3.2.2 非功能性需求
3.3 架构级重要需求
3.3.1 指示信号
3.3.2 阻碍以及应对方法
3.4 从各种来源收集需求
3.4.1 了解上下文
3.4.2 了解现有文档
3.4.3 了解相关方
3.4.4 收集来自相关方的需求
3.5 文档化需求
3.5.1 文档化上下文
3.5.2 文档化范围
3.5.3 文档化功能性需求
3.5.4 文档化非功能性需求
3.5.5 管理文档的版本历史
3.5.6 文档化敏捷项目中的需求
3.5.7 其他部分
3.6 文档化系统架构
3.6.1 4+1模型
3.6.2 C4模型
3.6.3 文档化敏捷项目中的架构
3.7 选择文档的正确视图
3.7.1 功能视图
3.7.2 信息视图
3.7.3 并发视图
3.7.4 开发视图
3.7.5 部署和操作视图
3.8 生成文档
3.8.1 生成需求文档
3.8.2 从代码生成图
3.8.3 从代码生成API文档
3.9 总结
第二部分 C++软件的设计和开发
第4章 架构与系统设计
4.1 技术要求
4.2 分布式系统的特性
4.2.1 不同的服务模型以及何时使用它们
4.2.2 避免分布式计算的错误假设
4.2.3 CAP定理和最终的一致性
4.3 系统容错性和可用性
4.3.1 计算系统的可用性
4.3.2 构建容错系统
4.3.3 故障检测
4.3.4 减少故障的影响
4.4 系统集成
4.4.1 管道和过滤器模式
4.4.2 消费者竞争
4.4.3 从旧系统过渡
4.5 在规模化部署时保持性能
4.5.1 CQRS和事件溯源
4.5.2 缓存