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

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

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

以一种综合的、项目驱动的方式,帮助你学习一些成为高效开发人员所需的核心主题。

内容简介

本实践指南提供了一种综合的、项目驱动的方式,来帮助你学习一些成为高效Java开发人员所需的核心主题。

本书展示了如何开发真实项目,并同时学习最佳实践。每一章会聚焦于一个项目,该项目从一个命令行批处理程序开始,然后发展成一个功能齐全的应用程序。

本书也给了你一个以面向开发者的角度去学习的机会,包含大量的代码示例。

作者简介

作者Raoul-Gabriel Urma,剑桥大学计算机科学博士,软件工程师,演讲者,培训师,Cambridge Coding Academy联合创始人、CEO。曾与谷歌、eBay、甲骨文和高盛集团等大公司合作,并参与过多个创业项目。撰写过十余篇经同行审阅的技术文章,并在国际会议上发表过40多篇演讲。

章节目录

版权信息

O’Reilly Media,Inc.介绍

本书赞誉

推荐序

译者序

前言

为什么写作本书

面向开发者的方式

本书内容

本书目标读者

排版约定

示例代码

O’Reilly在线学习平台(O’Reilly Online Learning)

如何联系我们

第1章 开始旅程吧

1.1 主题

1.1.1 Java特性

1.1.2 软件设计及架构

1.1.3 SOLID原则

1.1.4 测试

1.2 章节概要

1.3 迭代

第2章 银行账单分析器

2.1 挑战

2.2 目标

2.3 银行账单分析器需求

2.4 KISS原则

2.5 代码可维护性和反模式

2.5.1 上帝类

2.5.2 代码重复

2.6 单一职责原则

2.7 内聚

2.7.1 类级别内聚

2.7.2 方法级别内聚

2.8 耦合

2.9 测试

2.9.1 自动化测试

2.9.2 使用JUnit

2.9.3 代码覆盖率

2.10 要点

2.11 迭代

2.12 完成这个挑战

第3章 扩展银行账单分析器

3.1 挑战

3.2 目标

3.3 银行账单分析器的扩展需求

3.4 开闭原则

3.4.1 创建函数式接口的实例

3.4.2 lambda表达式

3.5 接口陷阱

3.5.1 上帝接口

3.5.2 粒度太细

3.6 显式API和隐式API

3.7 多样化导出

3.7.1 引入领域对象

3.7.2 定义并实现合适的接口

3.8 异常处理

3.8.1 为什么使用异常

3.8.2 异常的模式与反模式

3.8.3 异常使用准则

3.8.4 异常的替代品

3.9 使用构建工具

3.9.1 为什么使用构建工具

3.9.2 使用Maven

3.9.3 使用Gradle

3.10 要点

3.11 迭代

3.12 完成这个挑战

第4章 文档管理系统

4.1 挑战

4.2 目标

4.3 文档管理系统需求

4.4 充实这个设计

4.4.1 导入器

4.4.2 文档类

4.4.3 文档属性及层次结构

4.4.4 实现及注册导入器

4.5 里氏替换原则

4.6 可选方案

4.6.1 让Importer成为一个类

4.6.2 作用域和封装的选择

4.7 扩展和重用代码

4.8 保持测试健康

4.8.1 测试命名

4.8.2 测试行为而不是实现

4.8.3 不要重复你自己

4.8.4 良好的诊断

4.8.5 测试错误的情况

4.8.6 常量

4.9 要点

4.10 迭代

4.11 完成这个挑战

第5章 业务规则引擎

5.1 挑战

5.2 目标

5.3 业务规则引擎需求

5.4 测试驱动开发

5.4.1 为什么使用TDD

5.4.2 TDD周期

5.5 mocking

5.6 添加条件

5.6.1 状态建模

5.6.2 局部变量类型推断

5.6.3 switch表达式

5.6.4 接口隔离原则

5.7 流式API设计

5.7.1 什么是流式API

5.7.2 领域建模

5.7.3 建造者模式

5.8 要点

5.9 迭代

5.10 完成这个挑战

第6章 Twootr

6.1 挑战

6.2 目标

6.3 Twootr的需求

6.4 设计概述

6.4.1 拉模式

6.4.2 推模式

6.5 从事件到设计

6.5.1 通信

6.5.2 图形用户界面

6.5.3 持久化

6.5.4 六边形架构

6.6 从哪里开始

6.7 密码和安全性

6.8 关注者和twoot

6.8.1 对错误建模

6.8.2 发送twoot

6.8.3 创建mock

6.8.4 mock验证

6.8.5 mocking库

6.8.6 SenderEndPoint

6.9 位置

6.9.1 equals和hashcode方法

6.9.2 equals和hashCode之间的约定

6.10 要点

6.11 迭代

6.12 完成这个挑战

第7章 扩展Twootr

7.1 挑战

7.2 目标

7.3 回顾

7.4 持久性和存储库模式

7.4.1 设计存储库

7.4.2 查询对象

7.5 函数式编程

7.5.1 lambda表达式

7.5.2 方法引用

7.5.3 环绕执行

7.5.4 流

7.5.5 Optional

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年由机械工业出版社华章分社出版,作者[英]Raoul-Gabriel Urma。

得书感谢您对《软件开发实践:项目驱动式的Java开发指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
HTML 5移动平台的Java Web实用项目开发 电子书
本书以真实购物网站为项目原型,以购物网站为载体,将购物网站的功能模块合理划分为8个教学单元:导航栏和信息提示设计、访问量统计模块设计、商品展示与查询模块设计、购物车模块设计、登录与注册模块设计、喜爱商品投票统计模块设计、用户留言模块设计、订单模块设计和多模块集成。这8个教学单元按由浅入深、由易到难、由简单到综合的顺序排列,符合学习者的认知规律和技能形成规律。本书每个教学单元都设置了6个教学环节:知
测试驱动开发的艺术 电子书
本书介绍了一种更快更好的软件开发方法——测试驱动开发。全书共分三部分:第一部分讲述了TDD和ATDD的相关知识、基本概念、方法,为测试驱动开发打下基础;第二部分将测试驱动开发用于具体的实践,重点讲解了TDD的各种技术;第三部分着重介绍了验收测试驱动开发,包括Fit框架、实现验收测试的方法等,**后讲解了引入TDD的各种技巧。本书浓缩了作者多年的开发经验,适合各类Java开发人员学习参考。
Java EE企业级应用开发项目教程(SSM) 电子书
本书是面向计算机专业的一本企业级开发的实战教程,主要讲解的是基于Spring+SpringMVC+MyBatis框架开发的健康管理系统的实现。本书共10章,第1章主要讲解了项目开发的前期准备工作,包括项目背景、项目功能、项目架构、数据库设计及项目环境搭建等内容。第2~5章主要讲解了传智健康管理端的基本功能,包括检查项管理、检查组管理、套餐管理和预约设置管理。第6章主要讲解了权限控制的相关知识。第7
开发者关系实践指南 电子书
本书是关于开发者关系的实践指南,书中呈现了那些奋战在开发者营销一线的专家的非凡见解。在本书中,许多公司的开发者营销和开发者关系的主要实践者分享了他们的知识、经验和实战案例,如微软Azure开发者营销总监CliffSimpkins、Facebook开发者营销主管DesireeMotamedi、谷歌开发者关系主管DirkPrimbs等。他们以开发者为中心,从邮件营销、社区营销、打造开发者营销计划、构建
Java EE程序设计与开发实践教程 电子书
《JavaEE程序设计与开发实践教程》从实用的角度出发,介绍JavaWeb开发的常用技术(HTML、JSP、JDBC和Servlet),以及JavaEE中流行的3个主流轻量级框架(Struts2+Spring+Hibernate)的集成开发;通过介绍Struts2案例、Hibernate案例和SSH整合应用案例等大量案例实践,帮助读者理解JavaEE所表达的软件架构和设计思想,并能综合应用Java