fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络软件工程/开发项目管理软件设计的哲学(第2版)

软件设计的哲学(第2版)

探索软件设计的本质,掌握模块化的艺术,构建简洁、高效、可维护的软件系统

作者:[美]约翰·奥斯特豪特(John Ousterhout) 出版社:人民邮电出版社 出版时间:2024年11月 

ISBN: 9787115655615
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €40.99

类别: 计算机/网络 新书热卖榜, 软件工程/开发项目管理 SKU:674cc68a358b38fec0cf6142 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 大32开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787115655615

编辑推荐
1. 作者专业,内容靠谱:约翰·奥斯特豪特,斯坦福大学计算机科学教授,具有丰富的工业界经验和学术成就,是Tcl脚本语言的创建者,曾获多个技术奖项。

2. 系统化解决软件复杂性:全面探讨软件设计中的复杂性管理,提供具体方法以实现复杂软件系统的有效模块化。

3. 实用的设计哲学:与热销书的《代码整洁之道》进行对比,强调通用设计的选择,教导读者如何区分软件设计中的重要事项。

4. 内容全面更新:第二版在前一版基础上增加了新的设计策略和案例,提供更多实用的设计知识和技巧。 

内容简介
本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的“哲学”问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。

本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。

作者简介
[美]约翰·奥斯特豪特(John Ousterhout)
斯坦福大学计算机科学教授,美国国家工程院院士,曾任加州大学伯克利分校的计算机科学教授;获得了包括ACM软件系统奖、ACM Grace Murray Hopper奖、美国国家科学基金会总统青年研究者奖和加州大学伯克利分校杰出教学奖等多项荣誉;聚焦于与构建软件系统的基础设施相关的广泛主题,包括分布式系统、操作系统、存储系统、开发框架和编程语言;在工业界有14年的经验,创办了Scriptics 和Electric Cloud两家公司;Tcl脚本语言的创建者,并且以分布式操作系统和存储系统的相关工作而闻名。
译者:
茹炳晟
腾讯Tech Lead(技术经理),腾讯研究院特约研究员,腾讯集团技术委员会委员,中国计算机学会(CCF)TF研发效能SIG主席,“软件研发效能度量规范”团体标准核心编写专家,中国商业联合会互联网应用技术委员会智库专家,中国通信标准化协会TC608云计算标准和开源推进委员会云上软件工程工作组副组长,国内外各大技术峰会的联席主席、出品人和Keynote演讲嘉宾,公众号“茹炳晟聊软件研发”主理人。著有技术畅销书《测试工程师全栈技术进阶与实践》和《现代软件测试技术之美》等,译有《现代软件工程》和《DevOps 实践指南(第2版)》等。
王海鹏
1994年毕业于华东师范大学,获物理学理学学士学位和英国语言文学学士学位;是独立咨询顾问、培训讲师、译者和软件开发者;拥有30年的软件开发经验,专注于软件架构和方法学研究,致力于提高软件开发的品质与效率;翻译了20余本软件开发相关图书,内容涵盖敏捷方法学、需求工程、UML 建模和测试等多个领域。
目  录
第 1章 导言 001

1.1 如何使用本书 004

第 2章 复杂性的本质 007

2.1 复杂性的定义 007

2.2 复杂性的表现 009

2.3 复杂性的原因 012

2.4 复杂性是增量的 014

2.5 结论 015

第3章 能工作的代码是不够的 017

3.1 战术性编程 017

3.2 战略性编程 019

3.3 投资多少? 020

3.4 初创企业与投资 022

3.5 结论 023

第4章 模块应该深 025

4.1 模块化设计 025

4.2 接口包含哪些内容? 027

4.3 抽象 028

4.4 深模块 029

4.5 浅模块 031

4.6 类炎 033

4.7 示例:Java和UNIX I/O 033

4.8 结论 035

第5章 信息隐藏(和泄漏) 037

5.1 信息隐藏 037

5.2 信息泄漏 039

5.3 时序分解 040

5.4 示例:HTTP服务器 041

5.5 示例:类过多 042

5.6 示例:HTTP参数处理 043

5.7 示例:HTTP响应中的默认值 045

5.8 类内的信息隐藏 046

5.9 过犹不及 047

5.10 结论 047

第6章 通用模块更深 049

6.1 让类有点通用 049

6.2 示例:为编辑器存储文本 051

6.3 更通用的API 052

6.4 通用性带来更好的信息隐藏 054

6.5 要问自己的问题 055

6.6 将专用性向上推(和向下推) 056

6.7 示例:编辑器撤销机制 057

6.8 消除代码中的特例 060

6.9 结论 061

第7章 不同层,不同抽象 063

7.1 直通方法 064

7.2 接口重复何时可行? 066

7.3 装饰器 067

7.4 接口与实现 069

7.5 直通变量 070

7.6 结论 073

第8章 降低复杂性 075

8.1 示例:编辑器文本类 076

8.2 示例:配置参数 076

8.3 过犹不及 078

8.4 结论 078

第9章 合并好,还是分开好? 079

9.1 如果共享信息,则合并 081

9.2 如果可以简化接口,则合并 081

9.3 消除重复,则合并 082

9.4 区分通用代码和专用代码 085

9.5 示例:插入光标和选择区域 086

9.6 示例:单独的日志类 087

9.7 拆分和连接方法 089

9.8 不同意见:《代码整洁之道》 092

9.9 结论 093

第 10章 避免处理异常 095

10.1 为何异常会增加复杂性 095

10.2 异常太多 098

10.3 定义错误不存在 100

10.4 示例:Windows中的文件删除 100

10.5 示例:Java的substring方法 101

10.6 异常屏蔽 103

10.7 异常聚合 104

10.8 就让它崩溃 109

10.9 过犹不及 110

10.10 结论 111

第 11章 设计两次 113

第 12章 为什么要写注释?4个借口 117

12.1 好的代码自己就是文档 118

12.2 我没有时间写注释 119

12.3 注释会过时,会产生误导 120

12.4 我见过的注释都没有价值 121

12.5 写好注释的好处 121

12.6 不同观点:注释就是失败 122

第 13章 注释应描述代码中不明显的内容 125

13.1 选择约定 126

13.2 不要重复代码 127

13.3 低层注释增加精确度 130

13.4 高层注释增强直观性 133

13.5 接口文档 136

13.6 实现注释:做什么和为什么,而不是怎么做 144

13.7 跨模块设计决策 146

13.8 结论 149

13.9 13.5节问题解答 150

第 14章 选择名称 151

14.1 示例:糟糕的名称会导致缺陷 151

14.2 塑造形象 153

14.3 名称应精确 153

14.4 一致地使用名称 157

14.5 避免多余的词 158

14.6 不同意见:Go风格指南 159

14.7 结论 161

第 15章 先编写注释 163

15.1 拖延的注释是糟糕的注释 163

15.2 先编写注释 164

15.3 注释是一种设计工具 165

15.4 早期注释是有趣的注释 166

15.5 早期注释是否昂贵? 167

15.6 结论 168

第 16章 修改现有代码 169

16.1 持续使用战略性编程 169

16.2 维护注释:让注释靠近代码 171

16.3 注释属于代码,而非提交日志 172

16.4 维护注释:避免重复 173

16.5 维护注释:检查差异 175

16.6 更高层次的注释更容易维护 175

第 17章 一致性 177

17.1 一致性的例子 177

17.2 确保一致性 178

17.3 过犹不及 181

17.4 结论 181

第 18章 代码应显而易见 183

18.1 让代码更显而易见 184

18.2 让代码不显而易见的因素 186

18.3 结论 190

第 19章 软件发展趋势 191

19.1 面向对象编程和继承 191

19.2 敏捷开发 193

19.3 单元测试 194

19.4 测试驱动开发 196

19.5 设计模式 197

19.6 取值方法和设值方法 197

19.7 结论 198

第 20章 性能设计 199

20.1 如何考虑性能 199

20.2 修改前(后)的度量 202

20.3 围绕关键路径进行设计 203

20.4 示例:RAMCloud的Buffer类 204

20.5 结论 210

第 21章 确定什么是重要的 211

21.1 如何确定什么是重要的? 211

21.2 尽量减少重要的东西 212

21.3 如何强调重要的东西 213

21.4 错误 213

21.5 更广泛的思考 214

第 22章 结论 215

设计原则总结 217

警示信号总结 219

媒体评论
John Ousterhout教授以其敏锐的洞察力,深入剖析了软件设计中的深层逻辑与哲学内涵。本书不仅关注代码的简洁与架构的优雅,还涉及设计原则与实践策略,每一处见解都闪烁着智慧的光芒。本书不仅是技术指导手册,更是一部提升软件设计思维的作品,激励读者重新思考软件设计的本质。无论你是编程新手还是资深工程师,阅读本书都将使你在软件设计的旅途中获得启发,领略软件设计的真谛。

——卢山 腾讯技术工程事业群总裁

无论你是软件工程师还是对软件设计和开发感兴趣的自学者,本书都具有阅读价值。软件作为数字化

抢先评论了 “软件设计的哲学(第2版)” 取消回复

评论

还没有评论。

相关产品

加入购物车

软件构架实践(第3版 影印版)

EUR €45.99
阅读更多
缺货

计算广告:互联网商业变现的市场与技术

EUR €43.99
评分 5.00 / 5
加入购物车

深入理解Nginx:模块开发与架构解析(第2版)

EUR €58.99
阅读更多
缺货

软件工程(21世纪高等学校规划教材 软件工程)

EUR €24.99

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略