内容简介
第Ⅰ部分Java EE设计模式介绍
第1章 设计模式概览
1.1 何为设计模式
1.1.1 如何检测模式,为何需要模式
1.1.2 现实世界中的模式
1.2 设计模式基础
1.3 企业模式
1.3.1 从Java到企业级Java
1.3.2 企业Java模式的出现
1.3.3 设计模式与企业模式
1.3.4 当传统设计模式遇到Java EE
1.3.5 当模式变成反模式
1.4 小结
1.5 相关资料
第2章 Java EE基础
2.1 多层架构
2.2 客户端层
2.3 中间层
2.3.1 Web层
2.3.2 业务层
2.4 EIS层
2.5 Java EE服务器
2.6 Java EE Web Profile
2.7 Java EE核心原则
2.8 约定优于配置
2.9 上下文与依赖注入
2.10 拦截器
2.11 小结
2.12 本章练习
第Ⅱ部分 实现Java EE设计模式
第3章 门面模式
3.1 何为门面
3.2 使用普通代码实现门面模式
3.3 使用Java EE实现门面模式
3.3.1 使用无状态Bean实现门面
3.3.2 使用有状态Bean实现门面
3.4 何时以及何处该使用门面模式
3.5 小结
3.6 本章练习
3.7 相关资料
第4章 单例模式
4.1 何为单例?
4.1.1 单例模式类图
4.1.2 使用普通代码实现单例模式
4.2 使用Java EE实现单例模式
4.2.1 单例Bean
4.2.2 在启动时使用单例
4.2.3 确定启动顺序
4.2.4 管理并发
4.3 何处以及何时该使用单例模式
4.4 小结
4.5 本章练习
4.6 相关资料
第5章 依赖注入与CDI
5.1 何为依赖注入?
5.2 使用普通代码实现DI
5.3 使用Java EE实现DI
5.3.1 @Named注解
5.3.2 上下文与依赖注入(CDI)
5.3.3 CDI与EJB
5.3.4 CDI Bean
5.3.5 @Inject注解
5.3.6 上下文与作用域
5.3.7 命名与EL
5.3.8 用于Backing JSF的CDI Bean
5.3.9 限定符
5.3.10 Alternatives
5.3.11 Stereotypes
5.3.12 通过CDI实现的其他模式
5.4 小结
5.5 本章练习
5.6 相关资料
第6章 工厂模式
6.1 何为工厂?
6.2 工厂方法
6.3 抽象工厂
6.4 使用Java EE实现工厂模式
6.5 何处以及何时该使用工厂模式
6.6 小结
6.7 本章练习
6.8 相关资料
第7章 装饰模式
7.1 何为装饰器?
7.2 使用普通代码实现装饰模式
7.3 使用Java EE实现装饰模式
7.4 何处以及何时该使用装饰模式
7.5 小结
7.6 本章练习
7.7 相关资料
第8章 面向方面编程(拦截器)
8.1 何为面向方面编程?
8.2 使用普通代码实现AOP
8.3 Java EE中的方面——拦截器
8.3.1 拦截器生命周期
8.3.2 默认级别的拦截器
8.3.3 拦截器顺序
8.3.4 CDI拦截器
8.4 何处以及何时该使用拦截器
8.5 小结
8.6 相关资料
第9章 异步
9.1 何为异步编程
9.2 使用普通代码实现异步模式
9.3 Java EE中的异步编程
9.3.1 异步Bean
9.3.2 异步Servlet
9.4 何处以及何时该使用异步编程
9.5 小结
9.6 本章练习
9.7 相关资料
第10章 定时器服务
10.1 何为定时器服务
10.2 使用Java EE实现定时器
10.2.1 自动化定时器
10.2.2 编程式定时器
10.2.3 定时器表达式
10.2.4 事务
10.3 小结
10.4 本章练习
10.5 相关资料
第11章 观察者模式
11.1 何为观察者?
11.1.1 说明
11.1.2 观察者类图
11.2 使用普通代码实现观察者模式
11.3 使用Java EE实现观察者模式
11.4 何处以及何时该使用观察者模式
11.5 小结
11.6 本章练习
11.7 相关资料
第12章 数据访问模式
12.1 何为数据访问模式?
12.2 数据访问模式概览
12.2.1 数据传输对象模式
12.2.2 Java持久化架构API 与对象关系映射
12.3 使用Java EE实现数据访问模式
12.4 何处以及何时该使用数据访问模式
12.5 小结
12.6 本章练习
12.7 相关资料
第13章 REST风格的Web Service
13.1 何为REST?
13.2 REST的6个约束
13.2.1 客户端-服务器
13.2.2 统一接口
13.2.3 无状态
13.2.4 可缓存
13.2.5 分层系统
13.2.6 按需编码
13.3 REST API的理查森能力成熟度模型
13.3.1 级别0: POX(Plain Old XML)沼泽
13.3.2 级别1:资源
13.3.3 级别2: HTTP动词
13.3.4 级别3:超媒体控件
13.4 设计REST风格API
13.4.1 资源命名
13.4.2 名词而非动词
13.4.3 自说明
13.4.4 复数而非单数
13.4.5 HTTP方法
13.4.6 GET
13.4.7 POST
13.4.8 PUT
13.4.9 DELETE
13.5 REST实战
13.5.1 users名词
13.5.2 topics 名 词 与 posts名词
13.6 使用 Java EE实现REST
13.7 HATEOAS
13.8 何处以及何时该使用 REST
13.9 小结
13.10 本章练习
13.11 相关资料
第14章 模型、视图与控制器模式
14.1 何为MVC设计模式?
14.2 使用普通代码实现MVC模式
14.3 使用Java EE实现MVC模式
14.4 FacesServlet
14.5 使用 FacesServlet实现MVC
14.6 何处以及何时该使用 MVC模式
14.7 小结
14.8 本章练习
14.9 相关资料
第15章 Java EE中的其他模式
15.1 何为WebSockets?
15.2 何为面向消息的中间件
15.3 何为微服务架构?
15.3.1 单块架构
15.3.2 可伸缩性
15.3.3 分解为服务
15.3.4 微服务的好处
15.3.5 天下没有免费的午餐
15.3.6 结论
15.4 一些反模式
15.4.1 超级类
15.4.2 面条架构
15.4.3 哥伦布先生
15.4.4 利益之交
15.4.5 前沿技术
15.4.6 辅助类
15.5 相关资料
第Ⅲ部分 总结
第16章 设计模式:好处、坏处与丑陋之处
16.1 好处:通往成功之路的模式
16.2 坏处:模式的过度使用与滥用
16.3 丑陋之处
16.4 小结
16.5 相关资料