中培IT学院
企业级JAVA高级开发技术实战

企业级JAVA高级开发技术实战

授课方式:面授/直播/录播

课程时长:3天

面向对象:初级工程师、中高级工程师、致力于从事软件开发等人群

学习重点:构建完整的java知识体系、实战Spring和SpringBoot、SpringCloudAlibaba各个环节,掌握实用技术

课程价格:¥2980.00

课程介绍 开班计划 课程大纲 往期课堂

课程介绍

培训背景

 JAVA行业的前景十分广阔。随着经济的迅猛发展,科学技术不断进步,用于计算机软件开发的JAVA编程语言也迅速发展起来,由于其高性能,高收益的特点,被广泛应用在计算机软件的开发上,是发展最快的计算机语言,互联网已经广泛地深入到人们的生活,JAVA市场需求空缺越来越大。

 

培训收益

培训收益.png 

 通过此次课程培训,可使学习者获得如下收益:

1.构建完整的java知识体系;

2.掌握实用性技术;

3.通过案例学习Spring,SpringMVC,MyBatis和SpringBoot、SpringCloudAlibaba的使用;

4.实战Spring和SpringBoot、SpringCloudAlibaba各个环节,真正落地java核心体现实践。

 

适合人群

适合人群.png 

培训特色

1.资深讲师授课,小班制教学;

2.理论与实践相结合、案例分析与行业应用穿插进行;

3.专家精彩内容解析、学员专题讨论、分组研究。

 

授课专家

翁老师  企业级J2EE专家,博士,北京理工大学软件研究所计算机应用技术专业。在软件行业工作近二十年,近50多个大中型项目的主持、管理、开发经验。主要学术成果: 近年来先后在国内外重要刊物发表论文20多篇,多篇被EI收录,出版著作4部。参与完成自然科学基金项目2项,参与纵向课题5项,主持横向科研项目5项。

 

张老师  天津大学软件工程硕士,10多年的IT领域相关技术研究和项目开发工作,在长期软件领域工作过程中,对软件企业运作模式有深入研究,熟悉软件质量保障标准ISO9003和软件过程改进模型CMM/CMMI,在具体项目实施过程中总结经验,有深刻认识。通晓多种软件设计和开发工具。对软件开发整个流程非常熟悉,能根据项目特点定制具体软件过程,并进行项目管理和监控,有很强的软件项目组织管理能力。对C/C++ 、HTML 5、python、Hadoop、java、java EE、android、IOS、大数据、云计算有比较深入的理解和应用,具有较强的移动互联网应用需求分析和系统设计能力,熟悉Android框架、IOS框架等技术,了解各种设计模式,能在具体项目中灵活运用。

 

结业证书

参加培训并通过考试学员,由工业和信息化部教育与考试中心统一颁发《JAVA开发高级工程师》工业和信息化职业能力证书, 证书可作为专业技术人员职业能力考核的证明,以及专业技术人员岗位聘用、任职、定级和晋升职务的重要依据。

工信部证书3.png 

工信部证书1.png 

证书样本


开班计划

开课时间 授课形式 培训类型 上课城市 在线报名
2024-05-30 面授+直播 精品班 成都 在线报名
2024-08-26 面授+直播 精品班 北京 在线报名
随报随学 录播 特惠班 IT云课 在线报名

课程大纲

企业级JAVA开发技术实战培训班,标准公开课为3天,每天6小时,录播课为24课时,企业内训可按需求定制。

课程安排如下: 


日程

章节

授课内容

第一天

 

第一单元  

剖析领域驱动的设计思想

为什么我们需要领域驱动设计

1. 现如今DDD越来越流行

2. DDD并不能帮助新项目的软件开发

3. DDD真正的作用是日后长期的维护

 

实践DDD的4大难题:

1. 准确理解为什么要采用DDD?

2. 怎样正确地进行业务领域建模?

3. 怎样用领域模型指导开发与变更?

4. 如何设计支持领域驱动的架构设计?

 

DDD真正的作用是应对日后的软件维护

1. 我们现在面对的是快速变化的时代

2. 变更越频繁,代码质量下降越快

案例:演示电商网站付款功能代码质量下降的过程

案例分析:揭示软件退化的根源

DDD的解决之道:业务领域建模

3. 系统规模越来越大,系统越来越复杂

案例:演示嵌入式温控系统越来越难于维护的根源

案例分析:领域分析才是解决之道

DDD的解决之道:基于限界上下文拆分系统

 

案例分析:演示电商网站付款功能代码质量下降的过程

1. 起初的设计

2. 随后的变更

3. 质量不断下降的过程

软件质量下降的根源:

1. 软件总是因变更而变得越来越复杂

2. 软件结构已经不再适应复杂的软件需求

3. 必须要调整软件结构以适应新的软件需求

DDD的建模过程:

1. 每次需求变更时先对需求进行领域分析

2. 基于领域分析先进行领域模型的变更

3. 基于领域模型的变更去指导程序的变更

 

DDD是应对软件复杂性之道

1. 剖析领域驱动的设计思想

2. 服务、实体与值对象的概念

3. 充血模型与贫血模型的设计思路

4. 问题域、子域与限界上下文划分

 

基于领域模型的设计变更

1. 演练基于DDD的设计与变更过程

2. 演练领域模型如何指导数据库设计

3. 演练领域模型如何指导程序设计

4. 聚合、仓库与工厂:傻傻分不清

5. 限界上下文:系统拆分的利器

 

案例:重新演练电商网站付款功能的变更过程

第一个版本的领域模型与设计

第一次变更的分析设计过程

第二场变更的设计实现

第三次变更的设计实现

第四次变更与架构演化

第一天

 

第二单元

演练领域驱动的设计过程

领域建模分析过程

演练案例:在线订餐系统的领域设计过程

1. 从领域中吸取知识

2. 统一语言建模

3. 事件风暴会议

1) 梳理业务流程,识别领域事件

2) 为每个领域事件识别参与者、行为、相关事物

3) 标记事物之间的关系、聚合、聚合根

4) 根据业务划分限界上下文

5) 遍历所有事件,确定上下文映射

4. 业务领域建模

1) 为每个领域事件构建业务领域模型

2) 划分主题域、支撑域、通用域

3) 落实各子域之间的联系、接口及事件通知机制

 

基于领域模型的微服务设计

1. 小而专的微服务设计

2. 限界上下文与微服务拆分

3. 上下文地图与微服务接口

4. 各微服务中实体、值对象与服务的设计

5. 各微服务中聚合、工厂与仓库的设计

6. 领域模型4种关系3种继承的数据库设计

7. 聚合层的设计、工厂和仓库的实现

8. 基于DDD的微服务架构分层

 

解决DDD的设计难题

1. 跨库查询的设计难题与设计实现

2. 领域事件的通知机制与设计实现

3. 微服务接口的防腐层设计

4. 状态查询跟踪的设计思路与代码实现

 

分组练习:按照事件风暴的步骤进行业务领域建模

1. 召开事件风暴会议

2. 进行业务领域建模

3. 基于领域模型设计开发系统

第二天

 

第三单元

领域驱动设计实践

实战演练:远程智慧医疗大数据平台设计过程

1. 系统业务规划与战略设计

2. 子系统→限界上下文→功能模块划分

3. 由粗到细的用例建模

4. 各子域业务领域建模

1) 智慧诊疗数据模型的领域分析

2) 诊所管理信息系统的领域分析

5. 各子域的接口设计

1) 上下文地图的模型分析

2) 微服务接口的方案设计

6. 微服务的技术落地实践

1) 去中心化的技术治理

2) 微服务的技术中台

3) 微服务的云端应用平台

 

起初:一个传统的诊所管理系统向互联网转型

1) 起初没有采用领域驱动设计,也运行了这么多年

2) 现在向互联网转型,业务变得越来越复杂,怎么开始领域建模?

第一步:站在全局的系统建设规划

第二步:DDD战略设计与限界上下文划分

第三步:各子域的业务领域建模

第四步:上下文地图与各子域的接口设计

转型成互联网连锁诊所系统,又该如何分析设计

1) 基于领域模型进行新需求的分析

2) 基于领域模型进行原有代码的更新维护

3) 基于限界上下文进行微服务的拆分,以及这个过程中的坑

第一步:基于DDD进行战略设计的调整

第二步:各子域的业务领域建模调整

第四步:上下文地图与各子域的接口设计

第五步:基于DDD的微服务拆分

Ø 基于DDD的数据库设计与去中心化的数据治理

Ø 如何由原有的贫血模型向现在的充血模型改造

Ø 如何解决跨库的关联查询与事务处理

Ø 如何实现领域事件的消息推送机制

Ø 如何实现跨库的状态数据查询

Ø 如何打造基于整洁架构的领域驱动设计框架

增加人工智能的智能诊疗数据模型

1) 如何通过领域模型来开展数据智能业务

2) 如何基于领域模型的规划与智能系统的接口

3) 基于领域模型的微服务+大数据的设计实践

 

分组练习:按照领域模型进行设计开发

1. 基于领域模型进行微服务的拆分与设计

2. 基于领域模型进行每个微服务的数据库设计

3. 基于上下文地图形成微服务间的契约与接口

第二天

 

第四单元

基于领域驱动的技术中台建设

DDD需要强大技术架构支持

1. 降低技术门槛,减少开发工作量 → 制订规范、合理分层、降低复杂度

2. 易于业务变更,易于架构演化 → 将业务与技术解耦

3. 支持领域驱动,支持微服务 → 通用仓库、工厂及基础设施的设计

4. 平台不断完善,功能不断积累 → 敏捷架构设计:架构跑道与使能故事

 

支持DDD的技术架构建设思路

1. 分析当前软件架构设计与架构演化的痛点与根源

2. 阐述技术中台的建设思路

1)将业务与技术解耦 → 整洁架构与六边形架构

2)提取共性,精简业务代码 → 单Controller,单Dao

 

支持领域驱动+微服务的技术中台

案例:在线订餐系统的应用

1. 通用、可配置的DDD仓库与工厂的设计

2. 解决跨库的关联查询与事务处理

3. 纯洁的Service与Entity便于不断地架构演化

 

现有系统的整洁架构转型

1. 系统级的重构方法与步骤

2. 建立接口层解耦业务代码与技术框架的过程

3. 基于整洁架构的技术架构演化与快速交付

 

第三天

第五单元

基于DDD的微服务设计实践

实战演练:高并发高可用的订单系统

 

微服务架构的6种设计模式

1. 聚合模式

案例:电商网站购物功能的设计

Ø 微服务前后端分离的设计

Ø 分布式事务的两阶段提交

Ø TCC方案与阿里Seata

演练:运用Seata实现微服务的分布式事务

Ø 基于消息的最终一致性设计

演练:基于消息实现微服务的分布式事务

 

案例:电商网站下单服务的设计

单一职责原则与领域驱动设计

Ø 互联网纵向切分在微服务的实现

Ø 纵向切分应当注意的设计问题

Ø 解决跨库关联查询的设计

演练:微服务间解决跨库关联查询的设计

 

2. 代理模式

案例:电商网站多渠道支付的微服务实现

3. 链式模式

4. 分支模式

5. 数据共享模式

案例:大数据与微服务结合的架构设计

案例:电商网站海量订单数据的秒级查询

6. 异步消息模式

案例:电商网站异步化操作的微服务实现

 

微服务的拆分原则

1. 能不拆尽量不拆:减少微服务间的调用

2. 该拆分就得拆分

1) 公共模块该拆分就得拆分

2) 越来越复杂的模块该拆分就得拆分


往期课堂

暂无信息