软件开发实践:项目驱动式的Java开发指南
杜云飞 译
出版时间:2020年09月
页数:184
“本书填补了市场上的一个重要空白。如果你是刚从大学或代码训练营毕业的学生,正在寻找你的第一份Java工作,那么你应该购买这本书。它架起了编程练习和专业软件工程师日常工作之间的桥梁。”
——Ben Evans
Java Champion,New Relic公司的首席工程师
如果你刚刚开始你的Java职业生涯,掌握当今的许多软件开发概念可能会让你不知所措。你是否应该学习面向对象的实践,比如测试驱动开发或者应用函数式编程思想?本书提供了一种综合的、项目驱动的方式,帮助你学习一些成为高效开发人员所需的核心主题。
作者在本书中向你展示了如何开发真实项目,并同时学习最佳实践。每一章会聚焦于一个项目,该项目从一个命令行批处理程序开始,然后发展成一个功能齐全的应用程序。如果能够编写基本的Java代码,那么你将学习先进的软件开发实践,以构建现代的、健壮的和可维护的Java软件。
通过阅读本书,你将能够:
● 了解编写可维护代码的核心设计原则。
● 增加代码库的灵活性,提升代码可维护性,以及处理异常。
● 理解如何应用耦合、内聚和SOLID原则。
● 使用测试驱动开发来处理新的设计问题。
● 从外到内思考:从全局转移到应用程序领域的核心。
● 了解函数式编程并学习如何在Java中使用它。
- 前言
- 第1章 开始旅程吧
- 1.1 主题
- 1.2 章节概要
- 1.3 迭代
- 第2章 银行账单分析器
- 2.1 挑战
- 2.2 目标
- 2.3 银行账单分析器需求
- 2.4 KISS原则
- 2.5 代码可维护性和反模式
- 2.6 单一职责原则
- 2.7 内聚
- 2.8 耦合
- 2.9 测试
- 2.10 要点
- 2.11 迭代
- 2.12 完成这个挑战
- 第3章 扩展银行账单分析器
- 3.1 挑战
- 3.2 目标
- 3.3 银行账单分析器的扩展需求
- 3.4 开闭原则
- 3.5 接口陷阱
- 3.6 显式API和隐式API
- 3.7 多样化导出
- 3.8 异常处理
- 3.9 使用构建工具
- 3.10 要点
- 3.11 迭代
- 3.12 完成这个挑战
- 第4章 文档管理系统
- 4.1 挑战
- 4.2 目标
- 4.3 文档管理系统需求
- 4.4 充实这个设计
- 4.5 里氏替换原则
- 4.6 可选方案
- 4.7 扩展和重用代码
- 4.8 保持测试健康
- 4.9 要点
- 4.10 迭代
- 4.11 完成这个挑战
- 第5章 业务规则引擎
- 5.1 挑战
- 5.2 目标
- 5.3 业务规则引擎需求
- 5.4 测试驱动开发
- 5.5 mocking
- 5.6 添加条件
- 5.7 流式API设计
- 5.8 要点
- 5.9 迭代
- 5.10 完成这个挑战
- 第6章 Twootr
- 6.1 挑战
- 6.2 目标
- 6.3 Twootr的需求
- 6.4 设计概述
- 6.5 从事件到设计
- 6.6 从哪里开始
- 6.7 密码和安全性
- 6.8 关注者和twoot
- 6.9 位置
- 6.10 要点
- 6.11 迭代
- 6.12 完成这个挑战
- 第7章 扩展Twootr
- 7.1 挑战
- 7.2 目标
- 7.3 回顾
- 7.4 持久性和存储库模式
- 7.5 函数式编程
- 7.6 用户界面
- 7.7 依赖倒置和依赖注入
- 7.8 包和系统构建
- 7.9 限制和简化
- 7.10 要点
- 7.11 迭代
- 7.12 完成这个挑战
- 第8章 总结
- 8.1 基于项目的结构
- 8.2 迭代
- 8.3 刻意练习
- 8.4 下一步及附加资源
书名:软件开发实践:项目驱动式的Java开发指南
译者:杜云飞 译
国内出版社:机械工业出版社
出版时间:2020年09月
页数:184
书号:978-7-111-66091-0
原版书书名:Real-World Software Development
原版书出版商:O'Reilly Media
Raoul-Gabriel Urma
Raoul-Gabriel Urma博士是Cambridge Spark(一家领先的面向数据科学家的培训机构)的CEO和创始人。他还是几本编程书籍的作者,包括畅销书Modern Java in Action(Manning出版社)。
Richard Warburton
Richard Warburton,一位经验丰富的技术专家,善于解决复杂深奥的技术问题,拥有华威大学计算机科学专业博士学位。近期他一直从事高性能计算方面的数据分析工作。他是英国伦敦Java社区的领导者,组织过面向Java 8中Lambda表达式、日期和时间的Adopt-a-JSR项目,以及Openjdk Hackdays活动。Richard还是知名的会议演讲嘉宾,曾在JavaOne、DevoxxUK和JAX London等会议上演讲。