软件架构师成长之路 Java架构之完美设计 实战经典
作者: (中国)颜廷吉
出版时间: 2019年版
丛编项: 软件架构师成长之路
内容简介
本书内容分为软件架构理论、软件架构高级技能、软件架构综合技能以及软件架构创新四大部分。第壹部分是第1、2章,介绍了软件架构师练就的方法、软件架构设计模式、软件架构开发模型、软件架构模式、软件架构思维、软件架构编程思想以及软件架构设计原则等,为软件架构设计的基本理论;第二部分是第3~5章,介绍了软件架构师必备的工具体系、Java机制技能要点专题、Java后台技术栈技能要点专题以及日志架构设计、安全架构设计、权限架构设计、验证架构设计、异常架构设计、消息架构设计、阻塞架构设计、数据字典架构设计Java八大核心架构设计体系,为软件架构设计的高级技能体系;第三部分是第6~13章,以Spring技术为脉络,介绍了JavaWeb、SpringMVC、Spring Integration、Spring Boot、SOAP WebService、REST WebService以及框架测试等架构设计相关的核心技术,为软件架构设计与实现相关的综合技能体系;第四部分是第14、15章,以开源框架以及自动化代码生成工具开发为中心,启发读者的创新思维,为软件架构的创新技能体系。本书是“软件架构师成长之路”丛书的高级篇,适合软件工程师、架构师以及软件项目经理使用;还适合那些有志于成为软件架构师的其他软件从业人员自学使用;也可以作为高等院校相关专业师生参考教材;培训机构也可将本书作为软件架构等方面的培训教材。
目录
序
前言
第1章 架构概述
1.1 架构来源
1.1.1 软件架构
1.1.2 架构单位
1.1.3 常见架构错误概念
1.2 架构的价值
1.3 架构发展历史
1.4 架构师
1.4.1 架构师分类
1.4.2 软件架构师职责
1.4.3 软件架构师素质要求
1.4.4 架构师练就方法
小结
习题
第2章 架构基本理论
2.1 架构品质
2.2 架构过程
2.2.1 架构流程
2.2.2 架构成果
2.2.3 架构团队
2.3 架构开发模型
2.3.1 开发模型概述
2.3.2 边做边改模型
2.3.3 迭代开发模型
2.3.4 Scrum开发模型
2.4 架构设计常用UML
2.4.1 概述
2.4.2 类图
2.4.3 序列图
2.4.4 构件图
2.4.5 部署图
2.5 架构常用设计模式
2.5.1 模式概述
2.5.2 设计模式概述
2.5.3 设计模式与框架
2.5.4 单例模式
2.5.5 工厂方法模式
2.5.6 建造者模式
2.5.7 适配器模式
2.5.8 外观模式
2.5.9 代理模式
2.5.10 模板方法模式
2.5.11 策略模式
2.5.12 责任链模式
2.6 架构模式
2.6.1 Java EE规格与框架
2.6.2 模式与架构
2.6.3 MVC架构模式
2.6.4 分层架构模式
2.6.5 管道-过滤器架构模式
2.7 架构思维
2.7.1 抽象思维
2.7.2 分层思维
2.7.3 分治思维
2.7.4 演化思维
2.7.5 架构思维之间的关系
2.8 架构编程思想
2.8.1 面向过程编程
2.8.2 面向对象编程
2.8.3 面向服务架构
2.8.4 架构思想之间的关系
2.9 架构设计原则
2.9.1 简单原则
2.9.2 合适原则
2.9.3 演化原则
2.10 架构优化利器
2.10.1 重构带来的利益
2.10.2 重构技巧
2.10.3 重构工具
小结
习题
第3章 构建开发工具体系
3.1 DevOps
3.1.1 代码管理工具
3.1.2 项目构建工具
3.1.3 持续集成工具
3.2 智能开发平台
3.2.1 搭建智能开发平台
3.2.2 Eclipse对比IntelliJ
3.2.3 Eclipse启动方式
3.2.4 Eclipse程序启动参数
3.2.5 Eclipse插件安装方式
3.3 工具快捷键
3.3.1 快捷键的好处
3.3.2 快速键盘操作
3.3.3 优化快捷键
3.4 工具优化与保养
小结
习题
第4章Java机制技能专题
4.1通用处理方式
4.1.1串行与并行
4.1.2同步与异步机制
4.1.3在线处理与批处理
4.1.4系统间通信方式
4.2核心机制
4.2.1虚拟机机制
4.2.2内存管理机制
4.3反射与内省
4.3.1反射机制
4.3.2内省机制
4.4注解
4.4.1注解机制
4.4.2注解分类
4.4.3自定义注解
4.4.4注解解析
4.4.5适用场景
4.5Servlet
4.5.1Servlet机制
4.5.2Servlet与CGI
4.5.3Servlet与JSP
4.5.4Servlet与普通Java类
4.5.5自定义标签
4.6监听器、过滤器与拦截器
4.6.1技术要点
4.6.2三者对比
4.7Cookie与Session
4.7.1Cookie机制
4.7.2Session机制
4.8Socket
4.8.1Socket通信机制
4.8.2三次握手建立连接
4.8.3四次挥手释放连接
小结
练习题
第5章 Java后台技术栈专题
5.1 XML
5.1.1 概述
5.1.2 DTD
5.1.3 XSD
5.1.4 XML解析
5.2 HTTP
5.2.1 概述
5.2.2 URL
5.2.3 HTTP消息结构
5.3 JDBC
5.3.1 概述
5.3.2 JDBC开发方法
5.3.3 事务机制
5.4 AOP
5.4.1 概述
5.4.2 SpringAOP
5.5 字符集与乱码
5.5.1 字符集
5.5.2 乱码
5.6 日期处理
5.6.1 概述
5.6.2 日期使用技巧
5.7 翻页控件
5.7.1 问题
5.7.2 解决方案
5.8 属性文件
5.8.1 问题
5.8.2 解决方案
5.9 重复提交
5.9.1 问题
5.9.2 解决方案
5.10 排他
5.10.1 问题
5.10.2 解决方案
5.10.3 防止数据死锁
小结
练习题
第6章 Java核心架构体系
6.1 日志架构设计
6.1.1 概述
6.1.2 日志设计技巧
6.1.3 日志框架
6.2 安全架构设计
6.2.1 安全设计原则
6.2.2 安全注册
6.2.3 认证
6.2.4 SSL与HTTPS
6.2.5 CSRF
6.2.6 XSS
6.3 权限架构设计
6.3.1 概述
6.3.2 设计技巧
6.4 验证架构设计
6.4.1 概述
6.4.2 设计技巧
6.5 异常架构设计
6.5.1 概述
6.5.2 异常分类
6.5.3 异常处理方式
6.5.4 异常处理目的
6.5.5 异常处理流程
6.6 消息架构设计
6.6.1 概述
6.6.2 设计范例
6.7 阻塞架构设计
6.7.1 概述
6.7.2 设计技巧
6.8 数据字典架构设计
6.8.1 概述
6.8.2 设计技巧
6.9 体系架构之间的关系
小结
练习题
第7章 JavaWeb
7.1 Web服务器
7.1.1 服务器种类
7.1.2 Tomcat
7.1.3 服务器集群
7.2 框架对比
7.2.1 Struts1对比Struts2
7.2.2 SpringMVC对比Struts2
7.2.3 Hibernate对比MyBatis
7.3 框架集成
7.3.1