软件开发实践:项目驱动式的Java开发指南

Book description

如果你刚刚开始你的Java职业生涯,掌握当今的许多软件开发概念可能会让你不知所措。你是否应该学习面向对象的实践,比如测试驱动开发或者应用函数式编程思想?本书提供了一种综合的、项目驱动的方式,帮助你学习一些成为高效开发人员所需的核心主题。

作者在本书中向你展示了如何开发真实项目,并同时学习最佳实践。每一章会聚焦于一个项目,该项目从一个命令行批处理程序开始,然后发展成一个功能齐全的应用程序。如果能够编写基本的Java代码,那么你将学习先进的软件开发实践,以构建现代的、健壮的和可维护的Java软件。

通过阅读本书,你将能够:

  • 了解编写可维护代码的核心设计原则。
  • 增加代码库的灵活性,提升代码可维护性,以及处理异常。
  • 理解如何应用耦合、内聚和SOLID原则。
  • 使用测试驱动开发来处理新的设计问题。
  • 从外到内思考:从全局转移到应用程序领域的核心。
  • 了解函数式编程并学习如何在Java中使用它。

Table of contents

  1. 封面
  2. 扉页
  3. 版权页
  4. O'Relly介绍
  5. 本书赞誉
  6. 推荐序
  7. 译者序
  8. 目录
  9. 前言
    1. 为什么写作本书
    2. 面向开发者的方式
    3. 本书内容
    4. 本书目标读者
    5. 排版约定
    6. 示例代码
    7. O'Relly在线学习
    8. 如何联系我们
  10. 第1章 开始旅程吧
    1. 1.1 主题
    2. 1.2 章节概要
    3. 1.3 迭代
  11. 第2章 银行账单分析器
    1. 2.1 挑战
    2. 2.2 目标
    3. 2.3 银行账单分析器需求
    4. 2.4 KISS原则
    5. 2.5 代码可维护性和反模式
    6. 2.6 单一职责原则
    7. 2.7 内聚 (1/2)
    8. 2.7 内聚 (2/2)
    9. 2.8 耦合
    10. 2.9 测试
    11. 2.10 要点
    12. 2.11 迭代
    13. 2.12 完成这个挑战
  12. 第3章 扩展银行账单分析器
    1. 3.1 挑战
    2. 3.2 目标
    3. 3.3 银行账单分析器的扩展需求
    4. 3.4 开闭原则
    5. 3.5 接口陷阱
    6. 3.6 显式API和隐式API
    7. 3.7 多样化导出
    8. 3.8 异常处理 (1/2)
    9. 3.8 异常处理 (2/2)
    10. 3.9 使用构建工具 (1/2)
    11. 3.9 使用构建工具 (2/2)
    12. 3.10 要点
    13. 3.11 迭代
    14. 3.12 完成这个挑战
  13. 第4章文档管理系统
    1. 4.1 挑战
    2. 4.2 目标
    3. 4.3 文档管理系统需求
    4. 4.4 充实这个设计
    5. 4.5 里氏替换原则
    6. 4.6 可选方案
    7. 4.7 扩展和重用代码
    8. 4.8 保持测试健康 (1/2)
    9. 4.8 保持测试健康 (2/2)
    10. 4.9 要点
    11. 4.10 迭代
    12. 4.11 完成这个挑战
  14. 第5章 业务规则引擎
    1. 5.1 挑战
    2. 5.2 目标
    3. 5.3 业务规则引擎需求
    4. 5.4 测试驱动开发
    5. 5.5 mocking
    6. 5.6 添加条件 (1/3)
    7. 5.6 添加条件 (2/3)
    8. 5.6 添加条件 (3/3)
    9. 5.7 流式API设计
    10. 5.8 要点
    11. 5.9 迭代
    12. 5.10 完成这个挑战
  15. 第6章 Twootr
    1. 6.1 挑战
    2. 6.2 目标
    3. 6.3 Twootr的需求
    4. 6.4 设计概述
    5. 6.5 从事件到设计
    6. 6.6 从哪里开始
    7. 6.7 密码和安全性
    8. 6.8 关注者和twoot (1/2)
    9. 6.8 关注者和twoot (2/2)
    10. 6.9 位置 (1/2)
    11. 6.9 位置 (2/2)
    12. 6.10 要点
    13. 6.11 迭代
    14. 6.12 完成这个挑战
  16. 第7章 扩展Twootr
    1. 7.1 挑战
    2. 7.2 目标
    3. 7.3 回顾
    4. 7.4 持久性和存储库模式 (1/2)
    5. 7.4 持久性和存储库模式 (2/2)
    6. 7.5 函数式编程 (1/3)
    7. 7.5 函数式编程 (2/3)
    8. 7.5 函数式编程 (3/3)
    9. 7.6 用户界面
    10. 7.7 依赖倒置和依赖注入
    11. 7.8 包和系统构建
    12. 7.9 限制和简化
    13. 7.10 要点
    14. 7.11 迭代
    15. 7.12 完成这个挑战
  17. 第8章 总结
    1. 8.1 基于项目的结构
    2. 8.2 迭代
    3. 8.3 刻意练习
    4. 8.4 下一步及附加资源
  18. 作者介绍
  19. 封面介绍

Product information

  • Title: 软件开发实践:项目驱动式的Java开发指南
  • Author(s): Raoul-Gabriel Urma, Richard Warburton
  • Release date: August 2020
  • Publisher(s): China Machine Press
  • ISBN: 9787111660910

You might also like

book

管理Kubernetes

by Brendan Burns, Craig Tracey

虽然Kubernetes极大地简化了部署容器化应用程序的工作,但每天管理这种编排框架仍然是一项复杂的工作。站点管理人员以及 开发运营工程师可以通过本书学习如何构建、操作、管理及升级 Kubernetes集群,无论这些集群位于云基础架构之上还是在企业内部。 本书的作者Brendan Burns是Kubernetes的联合创始人,而Craig Tracey 是Heptio的现场工程师。本书详细讲解了Kubernetes的内部工作原理,并向读者展示了如何通过维护、调整和改善集群来满足特定需求。你可以通过本书学习如何从设计集群、管理访问控制、监视和报警,以及升级Kubernetes等方面来综合考虑架构的选择,还可以 通过本书深入了解如何充分利用这种编排框架的功能。 “学习如何操作集群,开发人员如何利用Kubernetes部署应用程序,以及如何利用Kubernetes减轻开发人员的负担。 通过掌握Kubernetes API以及配置选项来调整、保护,以及调节集群。 检测集群级别的问题,学习必要的响应步骤并快速恢复集群。 确定如何以及何时添加构建、扩展或以其他方式改进 Kubernetes集群的库、工具和平台。

book

云原生:运用容器、函数计算和数据构建下一代应用

by Boris Scholl, Trent Swanson, Peter Jausovec

开发者们刚开始接触云端服务开发的时候或多或少都会遇到一些障碍。既要学习分布式系统的知识,又要熟悉像容器和函数计算这样的新技术,还要综合运用这些知识来构建云原生应用实在是件令人望而生畏的事情。本书可以帮助你掌握构建云原生应用的方法,比如消息通信、事件通知和DevOps等。 本书介绍了构建现代云原生应用的架构模块。你将学会如何使用微服务、容器、无服务器架构、函数计算等技术,并挑选合适的存储类型,同时考虑可移植性等问题。你会从云原生应用的基础知识开始,一步步地了解设计、开发和运维云原生应用的整个过程。 探讨设计云原生应用所需的技术。 介绍容器和函数计算的区别,并学习它们的适用场景。 有针对性地设计应用来满足数据相关的需求。 学习DevOps的基础知识和一些开发、测试、运维实践。 学习一些构建和管理云原生应用的技巧、方法和实践。 理解构建一个具有可移植性的应用所需的代价,并且学会对需求做出取舍。

book

SQL经典实例(第2版)

by Anthony Molinaro, Robert de Graaf

你或许熟悉SQL基础知识,但能否充分发挥它的强大威力呢?本书从实战角度展示SQL在查询之外的能力。你将学会用SQL进行统计分析,像使用商业智能工具那样制作报表,进行文本数据匹配,以及执行复杂的日期数据分析。本书的写作方式独树一帜,以160余个真实场景为例,提供了让你耳目一新的解决方案。书中的实例短小精悍,涵盖5种主流的关系数据库:Oracle、MySQL、SQL Server、PostgreSQL和DB2。 数据分析师、数据科学家和数据库管理员可以通过本书练习解决SQL问题的能力,并开拓思路。对于其他需要在日常工作中与SQL打交道的读者,本书也是弥足珍贵的参考书,有助于快速查找解决方案。 本书第2版做了如下更新。 全面修订了原有实例,帮助你巩固基础知识并充分利用各个SQL实现引入的窗口函数 新增了一些实例,旨在帮助你采用可读性更强、更容易实现的通用表表达式(CTE) 为非数据库专家(如数据科学家)量身定制了一些实例 扩展了处理数字和字符串的解决方案 包含更多标准解决方案

book

SQL经典实例

by Anthony Molinaro

了解SQL查询语言的基本原理,但仍感觉无法自由运用SQL?想在数据上线前用SQL跑一遍数据库?想进一步提高SQL技能? 以上需求,《SQL经典实例》都可以满足。本书致力于让广大数据库相关人员了解SQL的强大数据处理能力。书中汇集了150多个SQL示例,给出了常见问题的解决方案,帮助读者扩宽思路并用学到的技术来解决新问题,既适合SQL初学者更深入理解SQL,也适合SQL中高级用户进阶及日常查询参考。 where子句等常见查询语句 查询结果排序 连接查询 如何获取数据库元信息 常见数字运算实例 字符串处理 日期处理 数据仓储和复杂报表生成领域的查询 与层次化有关的一些实例