当前位置: 首页 > 更多 > 其它

软件开发中的决策:权衡与取舍 pdf电子书[69MB]

  • 其它
  • 更新时间:2025-03-21 17:41:04
简介《软件开发中的决策》是由托马斯·莱莱克编著,本书详细阐述如何在设计、规划和实现软件时做出更好的决策,通过真实的案例,以抽丝剥茧的方式分析那些失误的决策,探讨还有哪些可能的解决方案,并对比各种方案的优缺点,摸索软件设计的常青模式。本书通过实例来说...
《软件开发中的决策:权衡与取舍》pdf电子书下载
《软件开发中的决策:权衡与取舍》pdf百度网盘

《软件开发中的决策:权衡与取舍》pdf百度网盘

《软件开发中的决策:权衡与取舍》pdf百度网盘

《软件开发中的决策:权衡与取舍》pdf百度网盘


 

本书详细阐述如何在设计、规划和实现软件时做出更好的决策,通过真实的案例,以抽丝剥茧的方式分析那些失误的决策,探讨还有哪些可能的解决方案,并对比各种方案的优缺点,摸索软件设计的常青模式。本书通过实例来说明某些决策的后果,例如代码重复如何影响系统的耦合与演进速度,以及如何在日期和时间信息方面隐藏细微差别。本书还介绍如何根据帕累托法则有效地缩小优化范围,确保分布式系统的一致性。

通过阅读本书,读者很快就可以将作者来之不易的经验应用到自己的项目中,以预防错误并采取更合适的编程决策。


作者简介:
托马斯·莱莱克(Tomasz Lelek) 托马斯在他的软件开发职业生涯里,设计并开发过各种各样的生产服务、软件架构,他精通多种编程语言(大多数是基于JVM的)。他既实现过单体系统,也曾做过与微服务架构相关的工作。他设计的有些系统可服务数千万用户,每秒处理数十万的操作量。他的工作方向如下:设计采用CQRS架构的微服务(基于Apache Kafka);市场自动化及事件流处理;基于Apache Spark和Scala的大数据处理。 托马斯现在就职于Dremio,负责创建现代大数据处理的数据湖解决方案。在此之前,他在DataStax负责与Cassandra数据库相关的一些产品。他设计的工具帮助成千上万的开发者设计出性能优异、用户友好的API,发挥了重要的作用。他为Java-Driver、Cassandra Quarkus、Cassandra-Kafka C... 托马斯·莱莱克(Tomasz Lelek) 托马斯在他的软件开发职业生涯里,设计并开发过各种各样的生产服务、软件架构,他精通多种编程语言(大多数是基于JVM的)。他既实现过单体系统,也曾做过与微服务架构相关的工作。他设计的有些系统可服务数千万用户,每秒处理数十万的操作量。他的工作方向如下:设计采用CQRS架构的微服务(基于Apache Kafka);市场自动化及事件流处理;基于Apache Spark和Scala的大数据处理。 托马斯现在就职于Dremio,负责创建现代大数据处理的数据湖解决方案。在此之前,他在DataStax负责与Cassandra数据库相关的一些产品。他设计的工具帮助成千上万的开发者设计出性能优异、用户友好的API,发挥了重要的作用。他为Java-Driver、Cassandra Quarkus、Cassandra-Kafka Connector以及Stargate都贡献过代码。 乔恩·斯基特(Jon Skeet) 乔恩是谷歌公司的资深开发工程师,目前的工作方向是谷歌云的.NET客户端库。他向开源社区贡献了.NET版本的Noda时间库,然而他最让人称道的是他在Stack Overflow开发者社区的贡献。乔恩是 Manning 出版社出版的C# in Depth一书的作者,此外,他还对Groovy in Action以及Real-World Functional Programming两书有所贡献。乔恩对日期时间API以及API版本非常感兴趣,这些通常是无人问津的冷门话题。

目录:
第1章 引言 1
第2章 代码重复不一定是坏事:代码重复与灵活性的权衡 15
第3章 异常及其他——代码错误的处理模式 39
第4章 灵活性与复杂性的权衡 70
第5章 过早优化 vs 热路径优化:影响代码性能的决策 89
第6章 API的简洁性 vs 维护成本 116
第7章 高效使用日期和时间数据 140
第8章 利用机器的数据本地性和内存 184
第9章 第三方库:你用的库成为你的代码 209
第10章 分布式系统的一致性和原子性 233
第11章 分布式系统的传输语义 251
第12章 版本管理和兼容性 272
第13章 紧跟最新技术趋势和维护旧代码之间的权衡 315

点击下载