求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导  
 电话 English
成功案例   品质保证
 
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式
 
全部课程 >领域驱动  
领域驱动+微服务架构设计
1969 次浏览  52 次
范老师
航天信息前首席架构师。
 
时间地点:在线:11月9-10日;北京、深圳、上海 根据报名开班
课程费用:5000元/人,详见 公开课学习手册
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册



认证方式:
培训前了解能力模型。
培训后进行能力评测:
  • 在线考试
  • 能力分析,给出学习建议
  • 合格者颁发证书,作为职业技能资格证明


    现在是一个快速变化的时代,我们不得不面对激烈的竞争和快速的市场变化。快速的变化,带来软件需求的快速变革。因此,所有的软件企业不得不面对这样一个事实:当软件系统经历了无数次变更以后,程序变得凌乱不堪、难于维护。而软件经过了无数次变更以后,系统的业务逻辑变得越来越复杂,我们的设计开始迷失方向。这种设计的迷失,加快了软件退化的速度,使得任何一个变更,都变得成本巨大。这就是现代软件企业不得不面对的困境。

    如何解决这种软件的困境呢?领域驱动设计,给我们指明了方向。他通过将软件设计还原到真实世界,将软件设计与真实世界对应起来。这样,当业务逻辑变得越来越复杂的时候,软件需求也开始频繁变更的时候,我们只需要将业务还原到真实场景,依据真实世界来指导我们的软件设计,设计思路就会清晰起来,我们就不再迷失方向。

    本课程就是在讲解如何通过领域驱动设计,来应对复杂系统的需求变更,实现高质量的软件设计,避免代码腐化。课程首先剖析了软件退化的根源,通过对真实系统一步一步退化的过程演变,揭示软件退化的根源,为解决问题指明了方向。接着,有针对性地讲解领域驱动设计是如何解决这些问题,为学员能够有效提高软件设计质量,提供了思路与方向

    然后,通过真实案例来一步一步讲解如何进行领域驱动设计,如何通过领域驱动设计来指导软件变更,实现高质量的软件设计。本课程注重实战,因此每一部分的讲解都是基于真实场景讲解,并且在真实场景中思考与练习。

    培训目标:
  • 学习领域驱动设计方法
  • 学会领域建模方法
  • 基于领域模型的微服务设计
  • 支持领域驱动+微服务的技术中台
  • 基于领域模型进行架构转型
  • 培训特色:
    本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握领域驱动设计的过程。同时,通过大量真实的案例,讲解许多公司在开展领域驱动设计的过程中面临的难题、解决的思路,以及最终的设计。
    培训对象:中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
    学员基础:有一定开发经验,最好具有面向对象分析设计基础知识。
    授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
    培训内容:2天
    第一单元 为什么我们需要领域驱动设计 为什么我们需要领域驱动设计
    1. 我们现在面对的是快速变化的时代
    2. 软件研发却出现了问题:
    变更越频繁,代码质量下降越快
    案例:演示电商网站付款功能代码质量下降的过程
    3. 揭示软件退化的根源
    案例:演示软件退化的过程与高质量设计的过程
    深度解读高内聚与单一职责原则
    DDD是应对软件复杂性之道
    1. 剖析领域驱动的设计思想
    2. 问题域、子域与限界上下文划分
    3. 演练基于DDD的设计与变更过程
    4. 领域模型如何指导数据库设计
    5. 领域模型如何指导程序设计
    6. 聚合、仓库与工厂:傻傻分不清
    7. 限界上下文:微服务拆分的利器

    第二单元 演练领域驱动设计的过程 实战演练:在线订餐系统的领域驱动设计过程

    领域建模分析过程
    1. 从领域中吸取知识
    2. 统一语言建模
    3. 事件风暴会议
    1) 事件即事实的设计思路
    2) 召开事件风暴会议
    3) 聚合与聚合根
    4) 问题子域与限界上下文
    5) 上下文地图与接口定义
    4. 业务领域建模

    基于领域模型的微服务设计
    1. 小而专的微服务设计
    2. 限界上下文与微服务拆分
    3. 上下文地图与微服务接口
    4. 去中心化的数据库设计
    5. 聚合层的微服务设计

    解决微服务设计难题
    1. 领域事件的通知机制
    2. 微服务接口的防腐层设计
    3. 订单状态跟踪的设计思路

    实战演练:远程智慧医疗大数据平台设计过程
    1. 系统的建设规划
    2. 限界上下文划分
    3. 各子域业务领域建模
        1) 智慧诊疗数据模型的分析
        2) 诊所管理信息系统的分析
    4. 各子域的接口设计
        1) 上下文地图的模型分析
        2) 微服务接口的方案设计
    5. 微服务的设计实现
        1) 去中心化的技术治理
        2) 微服务的技术中台
        3) 微服务的云端应用平台
    实战演练:学员分组演练
    用户提供案例 或 居民健康档案管理系统

    第三单元 基于领域驱动的技术架构建设
    DDD需要强大技术架构支持
    1. 降低技术门槛,减少开发工作量 → 制订规范、合理分层、降低复杂度
    2. 易于业务变更,易于架构演化 → 将业务与技术解耦
    3. 支持领域驱动,支持微服务 → 通用仓库、工厂及基础设施的设计
    4. 平台不断完善,功能不断积累 → 敏捷架构设计:架构跑道与使能故事

    支持DDD的技术架构建设思路
    1. 分析当前软件架构设计与架构演化的痛点与根源
    2. 阐述技术中台的建设思路
    1)将业务与技术解耦 → 整洁架构与六边形架构
    2)提取共性,精简业务代码 → 单Controller,单Dao

    支持领域驱动+微服务的技术中台
    案例:在线订餐系统的应用
    1. 通用、可配置的DDD仓库与工厂的设计
    2. 解决跨库的关联查询与事务处理
    3. 纯洁的Service与Entity便于不断地架构演化

    现有系统的整洁架构转型
    1. 系统级的重构方法与步骤
    2. 建立接口层解耦业务代码与技术框架的过程
    3. 基于整洁架构的技术架构演化与快速交付


       
    1969 次浏览  52 次
    其他人还看了课程
    MDA原理与应用  2231 次浏览
    领域驱动+微服务架构设计  1969 次浏览
    定制内训


    咨询服务:架构评估与优化
    咨询目标
    对现有的架构进行评估,发现问题,并优化
    咨询范围 业务架构,应用架构,数据架构,技术架构
    咨询方式 对现有架构进行建模,然后诊断问题,对问题进行集成分析,设计优化方案,指导团队实施优化,最终效果评估。
    成功案例 中国移动广西分公司,中国电信
    详情咨询:010-62670969, zhgx@uml.net.cn
    课程计划
    面向对象业务分析与系统设计 10-16[线上]
    嵌入式软件架构设计-高级实践 10-17[线上]
    Qlik Sense数据分析技术 10-17线上]
    基于 UML 和EA进行分析设计 10-22[北京]
    用户研究与用户建模 10-24[北京]
    QT应用开发 10-24[北京]