DDD

产品代码都给你看了,可别再说不会DDD(六):聚合根与资源库

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门 ... »

davenkin

如何理解DDD中的值对象

引言 实体和值对象是领域驱动设计中的两个重要概念。相对实体而言,值对象更加抽象,理解起来也更晦涩一些。那么该如何理解值对象?我们先来看一下《实现领域驱动设计》书中对值对象的定义: 值对象 (Value Object) 是通过对象属性值来识别的对象,它将多个相关属性组合成一个概念整体,用于描述领域的某 ... »

fengjq

领域驱动模型DDD(四)——Eventuate Tram Saga源码讲解

前言 虽然本人一直抱怨《微服务架构设计模式》中DDD模式下采用的Eventuate Tram Saga不算简单易用,但是为了更加深入了解原文作者的设计思路,还是花了点时间去阅读源码,并且为了自己日后自己返回来看的懂,就斗胆地对整个Eventuate Tram Saga从注册到执行的代码运行流程进行注 ... »

jianpansangejian

领域驱动设计(DDD):DDD落地问题和一些解决方法

欢迎继续关注本系列文章,下面我们继续讲解下DDD在实战落地时候,会具体碰到哪些问题,以及解决的方式有哪些。 DDD 是一种思想,主要知道我们方向,具体如何做,需要我们根据业务场景具体问题具体分析。 充血模型和实体Spring注入问题 在领域驱动设计(DDD)中,充血模型是一种常见的模型设计方式,其中 ... »

OceanHeaven

快速理解DDD领域驱动设计架构思想-基础篇

本文与大家一起学习并介绍领域驱动设计(Domain Drive Design) 简称DDD,以及为什么我们需要领域驱动设计,它有哪些优缺点,尽量用一些通俗易懂文字来描述讲解领域驱动设计 ... »

jingdongkeji

产品代码都给你看了,可别再说不会DDD(五):请求处理流程

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门 ... »

davenkin

一个.NET 7 + DDD + CQRS +React+Vite的实战项目

## 项目简介 基于SignalR实现聊天通信,支持横向扩展,可支撑上万用户同时在线聊天 ### 后端架构 后端技术栈采用 - .NET 7 - PostgreSQL (业务数据库) - Redis(用于存放热点数据,和支持SignalR横向扩展) - MasaFramework(后端应用框架)+D ... »

hejiale010426 .Net

白话领域驱动设计DDD

容我找个借口先,日常工作太忙,写作略有荒废。一直想聊下领域驱动设计,以下简称DDD,之前也看过一些教程,公司今年两个项目--银行核心和信用卡核心,都深度运用DDD成功落地,有人说DDD挺难理解,在此讲下我的浅薄认知, 争取言简意赅的点明其核心要义。 先扔出几个名词:Domain领域对象--对照现实中 ... »

xxbiao

关于DDD中聚合设计的思考(以博客园为例)

前言 聚合作为领域模型中重要的业务功能单元,它的设计是领域建模过程中非常重要的工作。其中聚合根的判断并非一件易事,往往给人一种似是而非的感觉,让人难以捉摸,陷入两难的境地。今天笔者就想以博客园为例来探讨下:博客 (Blog) 和评论 (Comment) 究竟是不是一个聚合? 问题探讨 众所周知,在博 ... »

fengjq

产品代码都给你看了,可别再说不会DDD(四):代码工程结构

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门 ... »

davenkin

【实践篇】DDD脚手架及编码规范

我们团队一直在持续推进业务系统的体系化治理工作,在这个过程中我们沉淀了自己的DDD脚手架项目。本文主要是梳理和总结了DDD脚手架使用中的编码规范以及遇到的问题。 ... »

jingdongkeji

领域驱动设计(DDD):三层架构到DDD架构演化

## 三层架构的问题 在前文中,我从基础代码的角度探讨了如何运用领域驱动设计(DDD)来实现高内聚低耦合的代码。本篇文章将从项目架构的角度,继续探讨三层架构与DDD之间的演化过程,以及DDD如何优化架构的问题。 三层架构作为一种常见的软件架构模式,将应用程序分为展示层、业务逻辑层和数据访问层,具有以 ... »

领域驱动设计(DDD):从基础代码探讨高内聚低耦合的演进

大家好,我是付威,一名已在编码第一线奋斗了十余年的程序员。在2019年我初次接触到领域驱动设计(Domain-Driven Design,简称DDD)的概念。在我的探索中,我发现许多有关DDD的教程过于偏重于战略设计,充斥着许多晦涩难懂的概念,导致阅读起来相当艰难。有些教程往往只是解释了DDD的概念 ... »

产品代码都给你看了,可别再说不会DDD(三):战略设计

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门 ... »

davenkin

DDD 架构分层,MQ消息要放到那一层处理?

作者:小傅哥 博客:[https://bugstack.cn](https://bugstack.cn) > 沉淀、分享、成长,让自己和他人都能有所收获!? 本文的宗旨在于通过简单干净实践的方式教会读者,使用 Docker 配置 RocketMQ 并在基于 DDD 分层结构的 SpringBoot ... »

xiaofuge

使用MediatR实现CQRS

CQRS是Command Query Responsibility Segregation的缩写,一般称作命令查询职责分离。从字面意思理解,就是将命令(写入)和查询(读取)的责任划分到不同的模型中。 对比一下常用的 CRUD 模式(创建-读取-更新-删除),通常我们会让用户界面与负责所有四种操作的数... ... »

zhaorong

产品代码都给你看了,可别再说不会DDD(二):DDD概念大白话

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门 ... »

davenkin

产品代码都给你看了,可别再说不会DDD(一):DDD入门

这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https://www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。 本系列包含以下文章: DDD入门( ... »

davenkin