软件架构python语言实现 中文_《软件架构:Python语言实现》[印度] 阿南德·巴拉钱德拉·皮莱著【摘要 书评 在线阅读】-苏宁易购图书...

本书详细介绍了如何使用Python语言实现软件架构,探讨了架构级需求、可修改性、可测试性、可扩展性等关键特性。通过实例,讲解了如何编写可修改和可读的代码,以及如何进行测试驱动开发,提升软件性能和可扩展性。
摘要由CSDN通过智能技术生成

商品参数

作者:

[印度] 阿南德·巴拉钱德拉·皮莱著

出版社:机械工业出版社

出版时间:2018-03-01

版次:1

开本:16开

装帧:平装

ISBN:9787111590941

版权提供:机械工业出版社

基本信息

商品名称: 软件架构-Python语言实现

出版社: 机械工业出版社

出版时间:2018-03-01

作者:阿南德.巴拉钱德拉.皮莱

译者:李必信

开本: 16开

定价: 79.00

页数:

印次: 1

ISBN号:9787111590941

商品类型:图书

版次: 1

内容提要

本书首先解释如何利用Python语言实现应用软件架构,让你逐步理解什么是架构级的需求以及如何确定这些需求;然后,你可以获得对架构不同质量属性的完整理解,这些质量属性包括可修改性、可测试性、可扩展性、可部署性和安全性等,从而帮助架构师构建满足业务需求的软件架构产品。

目录

目录

译者序

关于作者

关于评审人

前言

第1章 软件架构原理 1

1.1 软件架构定义 2

1.1.1 软件架构与设计 2

1.1.2 软件架构相关的几个方面 3

1.2 软件架构的特征 3

1.2.1 用架构来定义一种结构 3

1.2.2 由架构来挑选一组核心元素 4

1.2.3 由架构来捕获早期的设计决策 4

1.2.4 由架构来管理利益相关者的需求 5

1.2.5 架构影响着组织结构 5

1.2.6 架构受到环境的影响 6

1.2.7 架构是对系统的文档化 6

1.2.8 架构通常会遵循某个模式 7

1.3 软件架构的重要性 7

1.4 系统架构与企业架构 8

1.5 架构的质量属性 10

1.5.1 可修改性 11

1.5.2 可测试性 13

1.5.3 可扩展性 14

1.5.4 性能 15

1.5.5 可用性 16

1.5.6 安全性 17

1.5.7 可部署性 18

1.6 本章小结 19

第2章 编写可修改可读的代码 20

2.1 什么是可修改性 20

2.2 与可修改性相关的几个方面 20

2.3 理解可读性 21

2.3.1 Python和可读性 21

2.3.2 可读性–反模式 22

2.4 增强可读性的各种技术 24

2.4.1 文档化代码 24

2.4.2 遵守编码和风格规范 30

2.4.3 审查和重构代码 31

2.4.4 注释代码 31

2.5 可修改性的基础——内聚和耦合 32

2.5.1 测量内聚性和耦合性 33

2.5.2 字符串和文本处理 35

2.6 探索提高可修改性的策略 37

2.6.1 提供显式接口 37

2.6.2 减少双向依赖 37

2.6.3 抽象出公共服务 38

2.6.4 使用继承技术 38

2.6.5 使用延迟绑定技术 42

2.7 度量——静态分析工具 43

2.7.1 什么是代码坏味道 43

2.7.2 圈复杂度——McCabe度量 44

2.7.3 度量结果测试 45

2.7.4 运行静态检查器 47

2.8 重构代码 53

2.8.1 降低复杂度 53

2.8.2 改善代码坏味道 55

2.8.3 改善风格上和编码上的问题 57

2.9 本章小结 57

第3章 可测试性——编写可测试的代码 58

3.1 理解可测试性 58

3.1.1 软件可测试性及相关属性 58

3.1.2 架构级的方方面面 59

3.1.3 策略 60

3.2 白盒测试原理 65

3.2.1 单元测试 65

3.2.2 操作中的单元测试 66

3.2.3 单元测试模块nose2 69

3.2.4 用py.test进行测试 70

3.2.5 代码覆盖 72

3.2.6 仿制一些东西 74

3.2.7 文档中的内联测试——doctest 78

3.2.8 集成测试 81

3.2.9 测试自动化 83

3.3 测试驱动开发 84

3.4 有回文的TDD 85

3.5 本章小结 90

第4章 好的性能就是回报 92

4.1 什么是性能 93

4.2 软件性能工程 93

4.3 性能测试和度量工具 94

4.4 性能复杂度 95

4.5 度量性能 96

4.5.1 使用上下文管理器度量时间 97

4.5.2 使用timeit模块来计时代码 99

4.5.3 使用timeit度量代码的性能 100

4.5.4 揭示时间复杂度——各种图 102

4.5.5 使用timeit度量CPU时间 106

4.6 剖析 107

4.6.1 确定性剖析 107

4.6.2 使用cProfile和profile进行剖析 108

4.6.3 收集和报告统计数据 111

4.6.4 第三方剖析器 113

4.7 其他工具 119

4.7.1 objgraph 120

4.7.2 pympler 121

4.8 程序设计性能——数据结构 123

4.8.1 可变容器——链表、字典和集合 123

4.8.2 不可变容器——元组 124

4.8.3 高性能容器——集合模块 125

4.8.4 概率数据结构——布隆过滤器 131

4.9 本章小结 134

第5章 开发可扩展的应用 136

5.1 可扩展性和性能 137

5.2 并发性 139

5.2.1 并发性与并行性 140

5.2.2 Python中的并发性——多线程机制 141

5.3 缩略图产生器 141

5.3.1 缩略图产生器——生产者/消费者架构 143

5.3.2 缩略图产生器——使用锁的资源约束 147

5.3.3 缩略图产生器——使用信号量的资源约束 150

5.3.4 资源约束——信号量和锁比较 153

5.3.5 缩略图产生器——使用条件的URL速率控制器 153

5.4 多线程机制——Python和GIL 160

5.4.1 Python中的并发性——多进程机制 160

5.4.2 质数检查器 161

5.4.3 排序磁盘文件 163

5.5 多线程与多进程比较 168

5.6 先入为主的与合作的多任务处理 170

5.7 Python中的asyncio模块 173

5.8 等待future对象——async和await 175

5.9 concurrent.future——高级并发处理 178

5.9.1 磁盘缩略图产生器 179

5.9.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值