您好,欢迎来到聚文网。 登录 免费注册
软件开发中的决策 权衡与取舍

软件开发中的决策 权衡与取舍

教你如何在开发速度、安全性、成本、交付时间、功能等之间做出正确的设计决策
  • 字数: 472000
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: (美)托马斯·莱莱克,(英)乔恩·斯基特 著 陆明刚,胡世杰 译
  • 出版日期: 2024-11-01
  • 商品条码: 9787115635167
  • 版次: 1
  • 开本: 16开
  • 页数: 364
  • 出版年份: 2024
定价:¥99.8 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
深刻剖析软件设计决策中的权衡与取舍,涵盖单体系统、微服务、大数据处理等多领域。 通过真实案例与代码片段,展示软件设计模式的实际应用与错误决策的教训。 深入分析软件设计中的潜在问题与局限,提前预防未来可能出现的陷阱。 通过预识别设计问题,减少后期修改与重构的成本。 阐释如何平衡灵活性与复杂性、性能与优化等关键设计要素。 提供一套系统化的方法,帮助软件工程师在有限资源下做出更明智的决策。 通过增进对软件设计取舍的理解,提升代码质量与项目成功率。
内容简介
软件项目中的每一步都涉及权衡。在生产环境中,当你在权衡速度、安全性、成本、交付时间、功能等因素时,如何做出合理的设计选择是重要问题。本书中的专业见解和贴合实际的故事将帮助你在设计和构建应用程序时做出正确的选择。
本书探讨了做出错误权衡决策的真实场景,并说明了本可以采取的不同做法。在书中,作者托马斯·莱莱克和乔恩·斯基特分享了基于他们数十年软件工程经验的智慧,包括非常具有借鉴意义的错误案例。每个案例都附有具体的提示和实用技术,还提供了可能会改变你处理后续项目的常青模式。
通过阅读本书,你将掌握:
如何系统地分析软件;
如何选择工具、库和框架;
紧耦合和松耦合如何影响团队协作;
精确、易于实现和易于测试的需求。
本书适合负责软件设计与实现决策的中高级开发人员和架构师阅读。
作者简介
托马斯·莱莱克(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
1.1决策的后果与模式2
1.1.1单元测试2
1.1.2单元测试与集成测试的比例3
1.2设计模式及其失效分析5
1.3架构设计模式及其失效分析10
1.3.1可扩展性与弹性11
1.3.2开发速度12
1.3.3微服务的复杂性12
小结14
第2章代码重复不一定是坏事:代码重复与灵活性的权衡15
2.1代码库间的通用代码及重复代码16
2.1.1添加新需求导致的代码重复17
2.1.2实现新的业务需求17
2.1.3结果评估19
2.2通过库在代码库之间共享代码19
2.2.1共享库的取舍与不足20
2.2.2创建共享库21
2.3抽取代码为一个独立的微服务22
……

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网