提交 2fa23d73 编写于 作者: W wizardforcel

2021-10-06 00:30:53

上级 71b520be
# 序言
# 零、序言
本手册提供了一系列软件开发示例,通过简单明了的代码进行了说明,提供了一步一步的资源和节省时间的方法,帮助您高效地解决数据问题。从安装 Java 开始,每个配方都解决了一个特定的问题,并伴随着一个解释解决方案并深入了解其工作原理的讨论。我们将介绍有关核心编程语言的主要概念,以及构建各种软件所涉及的常见任务。您将按照食谱了解最新 Java11 版本的新特性,以使您的应用程序模块化、安全和快速。
......
# 安装和对 Java11 的窥探
# 一、安装和对 Java11 的窥探
在本章中,我们将介绍以下配方:
......
# 面向对象编程的快速通道-类和接口
# 二、面向对象编程的快速通道-类和接口
在本章中,我们将介绍以下配方:
......
# 模块化编程
# 三、模块化编程
在本章中,我们将介绍以下配方:
......
# 发挥作用
# 四、发挥作用
本章介绍一种称为函数式编程的编程范式及其在 Java11 中的适用性。我们将介绍以下配方:
......
# 流和管道
# 五、流和管道
在 Java8 和 Java9 中,集合 API 通过利用 Lambda 表达式引入流和内部迭代进行了重大的改头换面。在 Java10(JDK18.3)中,添加了新方法-`List.copyOf``Set.copyOf``Map.copyOf`,允许我们从现有实例创建新的不可变集合。此外,新方法`toUnmodifiableList``toUnmodifiableSet``toUnmodifiableMap`被添加到`java.util.stream`包中的`Collectors`类中,允许将`Stream`中的元素收集到一个不可变的集合中。本章介绍如何使用流和链多个操作来创建管道。此外,读者还将了解如何并行完成这些操作。配方列表包括以下内容:
......
# 数据库编程
# 六、数据库编程
本章介绍 Java 应用程序与**数据库****DB**)之间的基本和常用交互,从连接到数据库并执行 CRUD 操作到创建事务、存储过程,以及处理**大型对象****LOB**)。我们将介绍以下配方:
......
# 并发和多线程编程
# 七、并发和多线程编程
并发编程一直是一项困难的任务。这是许多难以解决的问题的根源。在本章中,我们将向您展示合并并发性和一些最佳实践的不同方法,例如不变性,这有助于创建多线程处理。我们还将讨论一些常用模式的实现,例如使用 Java 提供的构造进行分治和发布订阅。我们将介绍以下配方:
......
# 更好地管理操作系统进程
# 八、更好地管理操作系统进程
在本章中,我们将介绍以下配方:
......
# 使用 springboot 的 restfulWeb 服务
# 九、使用 springboot 的 restfulWeb 服务
在本章中,我们将介绍以下配方:
......
# 网络
# 十、网络
在本章中,我们将介绍以下配方:
......
# 内存管理和调试
# 十一、内存管理和调试
在本章中,我们将介绍以下配方:
......
# 使用 JShell 的读取-计算打印循环(REPL)
# 十二、使用 JShell 的读取-计算打印循环(REPL)
在本章中,我们将介绍以下配方:
......
# 使用新的日期和时间 API
# 十三、使用新的日期和时间 API
在本章中,我们将介绍以下配方:
......
# 测试
# 十四、测试
本章介绍如何测试应用程序如何捕获和自动测试用例,如何在 API 与其他组件集成之前对其进行单元测试,以及如何集成所有单元。我们将向您介绍**行为驱动开发****BDD**),并展示它如何成为您应用程序开发的起点。我们还将演示 JUnit 框架如何用于单元测试。有时,在单元测试期间,我们必须使用一些虚拟数据来插桩依赖项,这可以通过模拟依赖项来完成。我们将向您展示如何使用模拟库来实现这一点。我们还将向您展示如何编写夹具来填充测试数据,以及如何通过集成不同的 API 并将它们测试在一起来测试应用程序的行为。我们将介绍以下配方:
......
# Java10 和 Java11 编码的新方法
# 十五、Java10 和 Java11 编码的新方法
在本章中,我们将介绍以下配方:
......
# 使用 JavaFX 进行 GUI 编程
# 十六、使用 JavaFX 进行 GUI 编程
在本章中,我们将介绍以下配方:
......
# 序言
# 零、序言
人类不是完美的思想家。在撰写本文时,软件工程师是人。他们中的大多数。因此,编写高质量、有用的软件是一项非常困难的任务。正如我们将在本书中发现的,软件测试是软件工程师(即开发人员、程序员或测试人员)为保证给定软件的质量和信心水平而进行的最重要的活动之一。
......
# 软件质量与 Java 测试回顾
# 一、软件质量与 Java 测试回顾
为了从头开始制作苹果派,你必须首先发明宇宙。
......
# JUnit5 有什么新功能
# 二、JUnit5 有什么新功能
能想像的人,能创造不可能的事。
......
# JUnit5 标准测试
# 三、JUnit5 标准测试
废话少说,放码过来。
......
# 使用高级 JUnit 特性简化测试
# 四、使用高级 JUnit 特性简化测试
简单是终极的精致。
......
# JUnit5 与外部框架的集成
# 五、JUnit5 与外部框架的集成
如果我比别人看得更远,那就是站在巨人的肩膀上。
......
# 从需求到测试用例
# 六、从需求到测试用例
程序测试可用于显示错误的存在,但绝不能显示错误的不存在!
......
# 测试管理
# 七、测试管理
重要的是不要停止提问。
......
# 前言
# 零、前言
测试驱动开发已经有一段时间了,很多人还没有采用它。这背后的原因是 TDD 很难掌握。尽管这个理论很容易掌握,但要真正精通它需要大量的实践。本书的作者多年来一直在实践 TDD,并将尝试将他们的经验传授给您。他们是开发人员,相信学习一些编码实践的最佳方法是通过编码和不断的实践。这本书遵循同样的哲学。我们将通过练习解释所有 TDD 概念。这将是一次应用于 Java 开发的 TDD 最佳实践之旅。最后,您将获得一个 TDD 黑带,并且在您的软件工艺工具带中还有一个工具。
......
# 为什么我应该关心测试驱动的开发?
# 一、为什么我应该关心测试驱动的开发?
这本书是由开发人员为开发人员编写的。因此,大部分学习将通过代码进行。每章将介绍一个或多个**测试驱动开发****TDD**)实践,我们将通过解决**katas**来尝试掌握它们。在空手道中,空手道是一种练习,你重复一个动作很多次,每次都没有什么进步。遵循同样的理念,我们将从一章到下一章进行小而重要的改进。您将学习如何更好地设计和编写代码,缩短**上市时间****TTM**),生成始终最新的文档,通过质量测试获得高代码覆盖率,并编写干净有效的代码。
......
# 工具、框架和环境
# 二、工具、框架和环境
“我们成为我们所看到的。我们塑造我们的工具,然后我们的工具塑造我们。”
......
# 红绿重构——从失败到成功,直到完美
# 三、红绿重构——从失败到成功,直到完美
“仅仅知道是不够的,我们必须应用。仅仅愿意是不够的,我们必须去做。”
......
# 单元测试——关注你做了什么,而不是已经做了什么
# 四、单元测试——关注你做了什么,而不是已经做了什么
“要创造出与众不同的东西,你的思维方式必须坚持不懈地专注于最小的细节。”
......
# 设计——如果它不可测试,那么它就设计得不好
# 五、设计——如果它不可测试,那么它就设计得不好
“简单是最复杂的。”
......
# Mocking–删除外部依赖项
# 六、Mocking–删除外部依赖项
“说话很便宜。给我看看密码。”
......
# TDD 和函数式编程–完美匹配
# 七、TDD 和函数式编程–完美匹配
“任何足够先进的技术都无法与魔法区分开来。”
......
# BDD–与整个团队合作
# 八、BDD–与整个团队合作
“我不是一个优秀的程序员;我只是一个有着良好习惯的优秀程序员。”
......
# 重构遗留代码–使其再次年轻化
# 九、重构遗留代码–使其再次年轻化
TDD 可能无法立即调整为旧代码。你可能需要对这些步骤稍加修改才能使之生效。请理解,在这种情况下,您的 TDD 可能会发生变化,因为不知何故,您不再执行以前使用的 TDD。本章将向您介绍遗留代码的世界,尽可能多地利用 TDD
......
# 功能切换–将部分完成的功能部署到生产环境
# 十、功能切换–将部分完成的功能部署到生产环境
“不要让环境控制你。你改变了环境。”
......
# 把它们放在一起
# 十一、把它们放在一起
“如果你总是做你一直做的事,那么你将永远得到你一直得到的。”
......
# 通过实施连续交付利用 TDD
# 十二、通过实施连续交付利用 TDD
“没有什么比结果更能说明问题。如果你想建立一种与人们联系的可信度,那么在传递信息之前先传递结果。走出去,做你建议别人做的事。从经验中交流。”
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册