展开全部

主编推荐语

本书介绍了高效的软件设计和编程方法。

内容简介

全书共十二章,按照程序员技能提升的顺序,分为品味篇、专业篇和高效篇。书中把精益需求分析、领域驱动设计、面向对象、契约式设计、测试驱动开发、意图导向编程及演进式设计等编程实践融会贯通,深入洞察软件设计本质,展示了一个清晰的程序员编程能力提升路线图。

本书适合各种编程语言的一线开发者、大学计算机和软件工程相关专业三年级以上本科生或研究生阅读,也适合专业的软件开发团队作为统一编程范式、提升设计意识和能力的参考书。

目录

  • 版权信息
  • 前言
  • 本书的结构
  • 实践之间的联系
  • 如何阅读本书
  • 致谢
  • 品味篇 识别优秀设计
  • 第1章 优质代码的外部特征
  • 1.1 实现了期望的功能
  • 1.2 缺陷尽量少
  • 1.3 易于理解
  • 1.4 易于演进
  • 1.5 易于复用
  • 1.6 小结
  • 第2章 优质代码的内在特征
  • 2.1 一致的编码风格
  • 2.2 有意义的命名
  • 2.3 简洁的行为实现
  • 2.4 高内聚和低耦合的结构
  • 2.5 没有重复
  • 2.6 没有多余的设计
  • 2.7 具备自动化测试
  • 2.8 小结
  • 专业篇 建立扎实功底
  • 第3章 高质量的需求
  • 3.1 用结构化的方法分析需求
  • 3.2 定义业务目标
  • 3.3 探索业务流程,定义系统功能
  • 3.4 完善操作步骤,澄清业务规则
  • 3.5 小结
  • 第4章 领域建模
  • 4.1 领域模型的概念
  • 4.2 捕获业务概念
  • 4.3 辨析业务概念
  • 4.4 持续演进业务概念
  • 4.5 用领域模型指导软件开发
  • 4.6 小结
  • 第5章 设计分解和责任分配
  • 5.1 通过分而治之管理复杂性
  • 5.2 架构分解的原则与模式
  • 5.3 正确使用语言特性
  • 5.4 关注点分离
  • 5.5 设计模式
  • 5.6 小结
  • 第6章 依赖、接口和契约
  • 6.1 依赖的设计原则
  • 6.2 需求方接口
  • 6.3 提供方接口
  • 6.4 设计契约
  • 6.5 事件机制
  • 6.6 小结
  • 卓越篇 实现高效编码
  • 第7章 用测试描述需求和契约
  • 7.1 将测试作为一个建设性活动
  • 7.2 从V模型到I模型
  • 7.3 用测试澄清和文档化需求
  • 7.4 用测试澄清职责和契约
  • 7.5 测试先行
  • 7.6 小结
  • 第8章 用领域模型指导实现
  • 8.1 用领域模型指导实现
  • 8.2 基本构造块
  • 8.3 聚合、资源库和工厂
  • 8.4 分层架构和代码结构
  • 8.5 限界上下文
  • 8.6 上下文映射
  • 8.7 领域模型的持续演进
  • 8.8 小结
  • 第9章 由外而内的设计
  • 9.1 如何由外而内
  • 9.2 由外而内设计的优势
  • 9.3 应用测试替身
  • 9.4 测试先行和由外而内
  • 9.5 把由外而内应用于大规模的项目
  • 9.6 小结
  • 第10章 设计质量贯穿始终
  • 10.1 质量内建
  • 10.2 契约式设计和防御式编程
  • 10.3 高质量的自动化测试
  • 10.4 代码评审和结对编程
  • 10.5 代码质量度量和问题检测
  • 10.6 小结
  • 第11章 让设计持续演进
  • 11.1 软件设计的演进本质
  • 11.2 简单设计
  • 11.3 重构
  • 11.4 测试驱动开发
  • 11.5 持续集成
  • 11.6 小结
  • 第12章 精益思想和高效编程
  • 12.1 精益思想
  • 12.2 精益思想和软件设计的关系
  • 12.3 总结
  • 参考文献
  • 作者简介
展开全部

评分及书评

4.8
16个评分
  • 用户头像
    给这本书评了
    5.0

    复杂软件的三大设计原则:1、分而治之原则。面对复杂性问题,“分而治之” 是最普遍而有效的手段。通过 “分而治之”,把大的问题分解为小的问题,然后各个击破。这也就是软件开发中的模块化的思想。2、持续演进原则。软件不仅在空间维度上是复杂的,而且在时间维度上是持续变化的。如果软件开发实践不能适应未来的变化,那必然是失败的。好的软件设计实践,不是把适应变化作为一项附加能力,而是从根本上就把持续演进作为核心要素。这就是演进式设计的关键作用。3、质量内建原则。质量是一切的核心。它决定了业务价值的实现,也决定了在开发过程中沉淀的究竟是资产还是债务,同时也是软件可以演进的基础。

      转发
      评论
      用户头像
      给这本书评了
      5.0
      特别推荐

      特别推荐,尤其是有过一定编程经验的开发者,可能隐约感觉到了自己编码总是不可挽回的滑像腐坏,变的不可维护,需求变化层出不穷,代码越来越烂。对新项目可能开始的时候野心勃勃,想着要如何如何,但是过一段时间自己都不想看自己写的代码了。而对应旧项目更是一边忍着不适,一边写出更多的不适代码,总是有心无力改变的感觉。这本书给了给好的实践指导。很贴近实际开发情况。当然读完知道了是一回事,做到还是需要反复练习才行。至少这些问题在这书里都有了解决的方向。

        转发
        评论
        用户头像
        给这本书评了
        5.0
        很棒的阅读旅程

        本想结合自己的经验整理一些软件设计与开发的心得分享给小伙伴,看来可以直接拿来主义。每一块还需要更深入的学习、实践和总结。

          转发
          评论
        • 查看全部4条书评

        出版方

        人民邮电出版社

        人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。