架构师篇-21、工作坊实战DDD分解业务

2024-08-26 10:52

本文主要是介绍架构师篇-21、工作坊实战DDD分解业务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

课程内容:

  • 采用工作坊的教学模式
  • 共创主题一:DDD业务分析步骤
  • 共创主题二:DDD领域模型输出
  • 共创主题三:业务架构蓝图输出

收益:

  • 如何采用DDD进行业务分解?【循序渐进不断实践】
  • 共创输出项目业务架构图及业务分析

知识复习

事件风暴

在这里插入图片描述

事件风暴会议

在这里插入图片描述

在线订餐系统的事件风暴【样例】

在这里插入图片描述

问题域、子域与限界上下文【样例】

在这里插入图片描述
在这里插入图片描述

在线订餐系统的领域事件【样例】

在这里插入图片描述

微服务拆分【样例】

在这里插入图片描述

领域模型【样例】

在这里插入图片描述

领域分析与领域模型【样例】

在这里插入图片描述

原文分析法【样例】

在这里插入图片描述

分析结果【样例】

在这里插入图片描述

原文分析法【样例】

在这里插入图片描述

四色建模【样例】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

限界上下文的设计原则

在这里插入图片描述

研发框架之分层结构 – 实体

代码案例摘自:
https://github.com/dayatang/dddlib
https://github.com/dayatang/hrm-demo
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

研发框架之分层结构 – 值对象

在这里插入图片描述
在这里插入图片描述

研发框架之分层结构 – 仓储

在这里插入图片描述
在这里插入图片描述
具体实现则由EntityRepositoryHibernate Implements EntityRepository

研发框架之分层结构 – 工厂

在这里插入图片描述
Spring的工厂实现
在这里插入图片描述
谷歌的guice的工厂实现
在这里插入图片描述
当并发量高了之后,修改只是技术层面的东西,业务领域是不会发生变化的。

研发框架之分层结构 – 领域事件

在这里插入图片描述
在这里插入图片描述

研发框架之分层结构 – 实体抽象与继承

在这里插入图片描述

研发框架之分层结构 – 业务实体

在这里插入图片描述

研发框架之分层结构 – 实例与值对象、属性、行为定义

在这里插入图片描述
熟悉了注解后,后续的组织形式就会比较清晰。

研发框架之分层结构 – 通用查询实现

CQRS
在这里插入图片描述

上节回顾

关键点需要聚焦
在这里插入图片描述

共创

  • 共创主题一:DDD业务分析步骤

  • 共创主题二:DDD领域模型输出

  • 共创主题三:业务架构蓝图输出

  • 确定业务架构设计主要内容

    • 组织结构 业务功能 商业模式 业务流程 业务数据
  • 采用DDD分解业务

    • 事件风暴【产品愿景分析、场景分析、领域建模】
    • 限界上下文【定义领域边界的利器】
    • 领域&子域【有效分解问题域】
    • 领域模型【实体和值对象】

共创主题 - DDD分解业务 - 业务架构设计

  • 先定义事件风暴的一些组件在这里插入图片描述
  • 列出业务功能
    • 个人思考:下单事件、履约事件、配送事件、退款事件…
    • 课上讨论:在这里插入图片描述
      • 用户下单(事件)、下单(命令)、已下单(领域事件)、订单+菜品明细(对象,聚合关系)
      • 通过三个视角梳理业务:商家体系管理【商品管理、商家入驻…】、用户体系管理【】、平台体系管理【】
        • 商家:商家注册-》商家审核-》…在这里插入图片描述

这篇关于架构师篇-21、工作坊实战DDD分解业务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108358

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme