文轩九月图书旗舰店店铺主页二维码
文轩九月图书旗舰店
特价好书,就在文轩网!
微信扫描二维码,访问我们的微信店铺

软件架构从微观到宏观

128.00
运费: 免运费
库存: 34 件
软件架构从微观到宏观 商品图0
软件架构从微观到宏观 商品缩略图0

商品详情

软件架构从微观到宏观

作  者:甄镭 编著 编
定  价:128
出 版 社:清华大学出版社
出版日期:2025年10月01日
页  数:479
装  帧:平装
ISBN:9787302700845

目录

第1部分 软件架构概述
第1章 软件架构是什么 2
1.1 难以定义的软件架构 2
1.1.1 针对软件架构定义的不同观点 2
1.1.2 不同视角的软件架构 3
1.1.3 不同层次的软件架构 4
1.1.4 不同开发阶段的软件架构 4
1.1.5 不断发展变化的软件架构理论 5
1.2 软件架构的范围 5
1.2.1 使用鸭子理论划定软件架构范围 6
1.2.2 软件架构描述了软件的结构 6
1.2.3 软件架构的关键技术和支撑技术 8
1.2.4 软件架构决定了软件的质量属性 9
1.3 软件架构的作用 9
1.3.1 体现软件开发的早期设计决策 10
1.3.2 用于沟通与交流 10
1.3.3 软件质量属性的保证 10
1.3.4 软件工程管理的抓手 10
1.4 软件架构和软件架构模式(风格) 10
1.5 软件架构和软件框架 11
1.6 本章小结 12
第2章 软件结构 13
2.1 软件的结构 13
2.1.1 开发边界、运行边界和部署边界 13
2.1.2 架构的三种结构 15
2.1.3 软件结构和软件边界的变化 15
2.1.4 软件的范围和规模与软件架构 16
2.2 软件结构的描述方法 16
2.2.1 架构蓝图 16
2.2.2 “构件”和“连接器” 17
2.2.3 图形化建模语言 18
2.3 软件架构模式与软件架构风格 20
2.4 示例1—Docker的软件架构分析 20
2.4.1 Docker的作用 20
2.4.2 Docker的顶层架构 21
2.4.3 顶层架构的展开 22
2.4.4 组件架构 23
2.4.5 Docker架构分析总结 26
2.5 示例2——设计时结构与运行时结构的关系 27
2.6 本章小结 30
第3章 关键技术、支撑技术与技术路线 31
3.1 关键技术 31
3.1.1 什么是关键技术 31
3.1.2 关键技术的确定与识别 33
3.1.3 关键技术的验证 33
3.2 支撑技术 33
3.2.1 软件架构落地需要特定的软件技术作为支撑 33
3.2.2 软件技术对软件架构设计的刚性约束 34
3.2.3 软件架构设计与软件技术选择 34
3.3 技术路线 35
3.3.1 什么是技术路线 35
3.3.2 确定技术路线时需要考虑的因素 36
3.3.3 技术路线与架构设计落地 36
3.4 关键技术和支撑技术的区别和联系 37
3.5 示例1——Docker的关键技术 37
3.5.1 Docker关键技术概述 37
3.5.2 关键技术在架构中的位置 38
3.5.3 是否可以替换关键技术之外的部分 39
3.6 示例2——图形展示软件:关键技术与支撑技术的区别 39
3.7 本章小结 40
第4章 质量属性 41
4.1 什么是软件的质量属性 41
4.2 软件质量属性的内容 42
4.2.1 可用性 43
4.2.2 性能 43
4.2.3 安全性 44
4.2.4 可部署性 44
4.2.5 易用性 44
4.2.6 可修改性 45
4.2.7 可集成性 46
4.2.8 可测试性 46
4.2.9 能源效率 47
4.3 软件架构设计与质量属性 47
4.3.1 从宏观和微观两个层面解决质量属性问题 47
4.3.2 可修改性是满足质量属性需求的重要抓手 48
4.3.3 使用针对质量属性需求的通用解决方案 49
4.3.4 使用针对特定质量属性的成熟方案 50
4.3.5 关注与架构没有直接关联的质量属性 52
4.4 本章小结 53
第5章 软件架构设计的原则 54
5.1 设计原则概述 54
5.2 基本技术原理 54
5.2.1 抽象 55
5.2.2 封装 56
5.2.3 信息隐藏 57
5.2.4 模块化 60
5.2.5 职责分离 60
5.2.6 耦合和内聚 60
5.2.7 策略和实现分离 61
5.2.8 接口和实现分离 61
5.2.9 分而治之 62
5.3 SOLID原则 62
5.3.1 单一职责原则 62
5.3.2 开闭原则 64
5.3.3 里氏替换原则 64
5.3.4 接口隔离原则 66
5.3.5 依赖反转原则 67
5.4 接口设计原则 67
5.4.1 无状态原则 67
5.4.2 明确性与一致性原则 68
5.5 组件开发原则 68
5.5.1 复用/发布等同原则 69
5.5.2 共同闭包原则 69
5.5.3 共同复用原则 69
5.6 本章小结 69
第6章 如何完成软件架构设计 70
6.1 架构设计的前期工作 70
6.1.1 确定软件的商业目标 70
6.1.2 确定软件的业务目标 72
……

内容介绍

软件架构在软件开发中无处不在,从微观到宏观层面,架构都在发挥着重要作用。因此,对于软件开发人员,包括刚刚入门的新手,掌握软件架构设计是一项推荐技能。软件架构设计不仅要关注整体和顶层的宏观设计,还应重视支撑架构落地的微观设计。只有这样,软件架构设计才能真正起到指导开发的作用。本书的重点正是从微观到宏观的软件架构设计及其落地实践。
本书共28章,分为4个部分:第1部分(第1~6章)介绍软件架构的基本概念、软件架构设计所包含的内容以及架构设计需要遵循的一般原则;第2部分(第7~14章)聚焦于架构设计的微观层面,包括常用的编程范式、多任务与异步编程、设计模式、业务模型、组件以及协同工作模式等;第3部分(第15~21章)介绍常用的软件架构模式,包括插件式架构、管道-过滤器架构、分层架构、微服务架构和事件驱动架构等;第4部分(第22~28章)重点在于实践,通过示例形式进一步介绍软件架构设计......

甄镭 编著 编

"甄 镭 同济大学学士,北京科技大学硕士。1996年开始从事企业信息系统开发和建设工作,涉及石化、政务、汽车制造、机械制造、电力、房地产等诸多领域,参与过多项重量重大项目。在PLOP会议等发表过多篇论文。著有《信息系统升级与整合:策略·方法·技巧》《.Net与设计模式》《领域驱动设计.Net实践》等。"

文轩九月图书旗舰店店铺主页二维码
文轩九月图书旗舰店
特价好书,就在文轩网!
扫描二维码,访问我们的微信店铺

软件架构从微观到宏观

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏