首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
ddd专题
DDD设计方法-3-仓储,封装持久化数据
前情提要:一共包含 如下六篇文章(篇幅精简,快速入门) 1、初识DDD 2、聚合、实体、值对象 3、仓储,封装持久化数据 4、端口和适配器 5、领域事件 6、领域服务,实现约定 DDD设计方法-3-仓储,封装持久化数据 前言1、概念 什么是仓储?2、优缺点 为什么要用?3、和mapper到底什么区别?有关系吗?4、实例: 这里吧mapper 和 Repository 都写出来做个比较更直
阅读更多...
DDD Domain-Driven Design
商品中心答疑 http://www.nmalls.com/public/help.htm 阿里高级技术专家方法论:如何写复杂业务代码? https://mp.weixin.qq.com/s/pdjlf9I73sXDr30t-5KewA以商品发布为例 DDD博客 https://www.jianshu.com/u/39ec0e6b1844 将通用性的技术逻辑与差异性的业务逻辑相分离
阅读更多...
利用低代码平台构建领域驱动设计(DDD)的解决方案
前言 随着企业数字化转型的需求日益增长,低代码平台作为一种快速开发和部署业务应用的方法,正在获得更多关注。领域驱动设计(DDD)是一种软件架构风格,旨在更好地满足复杂业务需求。结合这两者可以创建灵活且可维护的应用程序。 在本应用中,我们将利用低代码平台的灵活性和DDD的架构优势来构建一个可持续的解决方案。 本文将以一个最常见的实例来展开分析。 一,模型构建 模
阅读更多...
基于DDD领域驱动的电商履约案例实战
基于DDD领域驱动的电商履约案例实战 电商履约系统和周边各子域的映射关系 电商履约核心子域战术建模 电商履约完整流程分析 001_以电商履约场景切入DDD实战002_电商履约流程的完整分析003_以电商履约的一个环节举例为什么需要DDD004_基于DDD把履约环节业务语义表述出来005_基于履约场景引入DDD战略设计概念006_用事件风暴会议寻找履约有界上下文007_完成电商
阅读更多...
在DDD中应用模式
深层模型和柔性设计并非唾手可得。要想取得进展,必须学习大量领域知识并进行充分的讨论,还需要经历大量的尝试和失败。但有时我们也能从中获得一些优势。一位经验丰富的开发人员在研究领域问题时,如果发现了他所熟悉的某种职责或某个关系网,他会想起以前这个问题是如何解决的。以前尝试过哪些模型?哪些是有效的?在实现中有哪些难题?它们是如何解决的?先前经历过的尝试和失败会突然间与新的情况联系起来。这些模式当中有一些
阅读更多...
领域驱动模型设计与微服务架构落地(四)之DDD分层架构设计
那么聊完领域模型之后,其实我们会发现,接下来,很多的程序员可能就会直接上代码,因为很多的程序员觉得这个你的战略设计跟我们落地的代码没有关系。哪怕你可能说得天花乱坠,可是做为底层的开发人员,我只关心手头上的功能有没有实现,实现完成之后有没有BUG。 那么我们该如何对于我们的系统进行分层呢? 实际上到了今天为止,大家应该已经见到过很多系统的分层方式,包括我们最常见的三层架构。这也要感谢我们程序员前
阅读更多...
架构师篇-21、工作坊实战DDD分解业务
课程内容: 采用工作坊的教学模式共创主题一:DDD业务分析步骤共创主题二:DDD领域模型输出共创主题三:业务架构蓝图输出 收益: 如何采用DDD进行业务分解?【循序渐进不断实践】共创输出项目业务架构图及业务分析 知识复习 事件风暴 事件风暴会议 在线订餐系统的事件风暴【样例】 问题域、子域与限界上下文【样例】 在线订餐系统的领域事件【样例】 微服务拆分【样
阅读更多...
【领域驱动设计 打通DDD最小闭环】领域建模
本篇BLOG为DDD流程的第二步,在模型的建立阶段,领域专家与技术人员通过领域建模来完成更为细致的模型建立讨论 领域建模的目的 领域建模主要有两个目的: 将知识可视化,准确、深刻地反映领域知识,并且在业务和技术人员之间达成一致指导系统的设计和编码,也就是说,领域模型应该能够比较容易地转化成数据库模式和代码实现 不同于事件风暴仅仅追求“形似”,也就是说业务是怎样运作的,事件风暴就怎样反映,
阅读更多...
【领域驱动设计 打通DDD最小闭环】业务事件风暴
本篇BLOG为DDD流程的第一步,在模型的建立阶段,领域专家与技术人员通过业务事件风暴进行需求分析,也叫做行为需求捕获。 事件风暴目的 在真实项目,尤其是敏捷项目里,领域专家很可能不会一开始就把需求都一一列出来,需求可能仅仅停留在领域专家的脑子里。即便领域专家已经把需求写出来,我们也很难保证没有遗漏,保证开发人员都彻底理解了。而事件风暴不仅能帮助我们尽量把需求补充完全,而且还能以协作的方式保
阅读更多...
【领域驱动设计 打通DDD最小闭环】DDD的开发流程、参与人员和统一语言
第一个学习阶段就是夯实基础,打通DDD的一个最小闭环,首先明确下DDD的最小闭环包含哪些步骤 开发流程 DDD的整体开发流程如下图所示,包含两个大的时间节点,模型的建立和模型的实现。 这样就是一个DDD的最小闭环,在实践中,尤其是对敏捷软件开发来说,这些步骤不是线性的,而是反复迭代、互相穿插的 战略设计阶段 也就是模型的建立阶段,使用的都是业务术语,归根结底来自业务人员,业务人员不仅能
阅读更多...
理解DDD设计
DDD的理解 领域驱动设计(Domain-Driven Design,DDD)是一种软件开发方法论,强调将业务领域作为软件设计的核心,以便更好地满足业务需求。DDD认为,软件开发的核心是理解业务,而不是实现技术。在DDD中,软件开发人员应该与业务人员密切合作,了解业务需求,理解业务模型。通过抽象出业务领域模型、领域服务和领域事件等概念,将业务模型映射到软件系统中,以实现更好的业务价值。在不使用D
阅读更多...
DDD架构和微服务初步实现
本次记录的是微服务的初步认识和DDD架构的初步实现和思路,在之前的发布里,对Javaweb进行了一次小总结,还有一些东西,不去详细理解说明了,下面开始我对微服务的理解。 什么是微服务? 在刚刚开始学习的时候我是懵逼的,微服务是什么,springcloud是什么,搜了一些相关文章发现全是官方语言,还是不太懂,在后面边敲边学的过程中,对我而言,我自己对微服务也有了一个起步的认知:springclo
阅读更多...
DDD(领域驱动设计)系列主题 - 战术设计案例讲解:代码结构优化之如何避免写流水账代码?
本文转自:微信公众号 阿里技术 目录 导读 2 Interface接口层 2.1 接口层的组成 2.2 返回值和异常处理规范,Result vs Exception 2.3 接口层的接口的数量和业务间的隔离 3 Application层 3.1 Application层的组成部分 3.2 Command、Query、Event对象 3.3 ApplicationSer
阅读更多...
DDD(领域驱动设计)系列主题:领域驱动设计(DDD)架构演进和DDD的几种典型架构介绍(图文详解)
目录 一、专业术语 二、架构演变 三、限界上下文 四、领域驱动设计的四重边界 五、整洁分层架构 六、六边形架构 七、洋葱架构 八、总结 我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢? 一、专业术语 各种服务 IAAS:基础设施服务,Infrastructure-as-a-service PAAS:平台服务,
阅读更多...
DDD(领域驱动设计)系列主题: 如何设计一个复杂的业务系统?从对领域设计、云原生、微服务、中台的理解开始
本文转自:阿里巴巴中间件 目录 01 如何解决复杂业务设计 02 领域设计 01 战略建模 02 战术建模 03 不同场景下的领域建模策略 01 新建系统 02 单体遗留系统 04 云原生时代下的挑战 05 不要忽视组织结构的影响 06 SOA-微服务-中台:妥协的艺术 07 结语 01 如何解决复杂业务设计 软件架构设计本身就是一个复杂的事情,但其实业界已有一
阅读更多...
C#面:阐述对DDD的理解
C#是一种面向对象的编程语言,而领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,它强调将业务领域的知识和逻辑直接融入到软件设计和开发中。 在C#中实施DDD的关键是将业务领域划分为不同的领域模型,并通过领域模型来表达业务逻辑。以下是我对DDD在C#中的理解的一些要点: 领域模型:领域模型是DDD的核心概念,它是对业务领域的抽象和建模。在C#中,可以使用
阅读更多...
领域驱动设计(DDD)深入探究
领域驱动设计(DDD)深入探究 一、DDD 简介1.1 历史和背景1.2 领域驱动设计的概念1.2 领域驱动设计的核心概念1. 领域(Domain)2. 子域(Subdomain)3. 限界上下文(Bounded Context)4. 实体(Entity)5. 值对象(Value Object)6. 聚合(Aggregate)7. 服务(Service)8. 领域事件(Domain Even
阅读更多...
《软件方法(下)》8.3.4.6 DDD话语“聚合”中的伪创新(2)
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《软件方法》最新pdf和epub文件:umlchina.com/url/softmeth2024.html 8.3 建模步骤C-2 识别类的关系 8.3.4 识别关联关系 8.3.4.6 DDD话语“聚合”中的伪创新 (3)aggregate root是伪创新 (续前文) aggre
阅读更多...
重塑电商科技版图:从传统架构迈向DDD的华丽蜕变之路
关注微信公众号 “程序员小胖” 每日技术干货,第一时间送达! 引言 随着电子商务行业的蓬勃发展,传统的电商系统架构面临着诸多挑战,如扩展性不足、维护成本高、响应市场变化慢等。领域驱动设计(Domain-Driven Design,简称DDD)作为一种以业务为中心的设计方法论,为电商系统的架构升级提供了有效的解决方案。本文将探讨如何将电商系统的架构从传统架构平滑过渡到DDD架构。 传统架构的瓶颈
阅读更多...
领域驱动设计(DDD)学习笔记之:战略设计
限界上下文(Bounded Context) 上下文边界的确定 在领域驱动设计(DDD)中,限界上下文(Bounded Context)是定义领域模型边界的核心概念。明确和定义上下文边界是DDD战略设计中的重要步骤。正确地确定上下文边界有助于保持模型的清晰性和一致性,降低系统的复杂性,并促进团队之间的协作。以下是确定上下文边界的一些方法和最佳实践: 1. 理解业务领域 业务需求分析 业务
阅读更多...
强烈推荐 20.7k Star!企业级商城开源项目强烈推荐!基于DDD领域驱动设计模型,助您快速掌握技术奥秘,实现业务快速增长
更多资源请关注纽扣编程微信公众号 1 项目简介 商城是个从零到一的C端商城项目,包含商城核心业务和基础架构两大模块,推出用户、消息、商品、订单、优惠券、支付、网关、购物车等业务模块,通过商城系统中复杂场景,给出对应解决方案。使用 DDD 模型开发系统功能,帮助对 DDD 一知半解的开发者树立正确地开发思路 2 部署架构图 3 技术学习 基于 DDD 领域驱动模型设计实现的商品、购
阅读更多...
蚂蚁面试:DDD外部接口调用,应该放在哪一层?
尼恩说在前面: 在40岁老架构师 尼恩的读者交流群(50+)中,最近有小伙伴拿到了一线互联网企业如字节、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: DDD 的外部接口调用,应该放在哪一层? DDD架构,如何落地? 谈谈你的DDD落地经验? 谈谈你对DDD的理解? 如何保证RPC代码不会腐烂,升级能力强? 微服务如何拆分? 微服务爆炸,如何解决? 你们的
阅读更多...
DDD领域驱动模型设计
醍醐灌顶了朋友们 第一次写ddd还是 一路走来 丢失了东西 现在倒是也能找回来 只是有点可惜了 选择比努力更重要 独立功能 应用层:组织业务逻辑 领域:实体对象=领域,业务核心 数据仓库: 不影响业务封装了数据操作,内部实现不需要关心形式:数据库提供对外接口 ,不管需要什么数据 直接从仓库中拿 实体: 属性 / 业务方法 封装到一起 充血模型,实体作用一目了然 实体
阅读更多...
火山引擎A/B测试平台的实验管理重构与DDD实践
本次分享的主题是火山引擎数智平台VeDI旗下的A/B测试平台 DataTester 实验管理架构升级与DDD实践。这里说明的一点是,代码的第一目标肯定是满足产品需求,能够满足产品需求的代码都是好代码。而本文中对代码的好坏的评价完全是从架构的视角,结合代码的可读性、可维护性与可扩展性去分析的。 在一个产品或者代码仓库的发展过程中,如果不对代码的质量加以控制、不引入原则与规范的约束、不及时的采取
阅读更多...
DDD 实战课
理论篇 微服务设计和拆分的困境 困境产生的根本原因就是不知道业务or微服务的边界到底在什么地方 换句话说:确定了业务边界和应用边界,这个困境就迎刃而解了。 DDD的核心思想是通过领域驱动设计方法定义领域模型,从而确定业务边界,保证业务模型与代码模型的一致性 专业名词解析 领域: DDD的领域就是这个边界内要解决的业务问题域 既然领域是用来限定业务边界和范围的,那么就会有大小之分,领域越大
阅读更多...
领域驱动设计(DDD)笔记(一)基本概念
文章链接 领域驱动设计(DDD)笔记(一)基本概念-CSDN博客领域驱动设计(DDD)笔记(二)代码组织原则-CSDN博客领域驱动设计(DDD)笔记(三)后端工程架构-CSDN博客 DDD基本概念 DDD 是一种面向复杂需求的软件设计方法,将软件开发和核心业务概念深度联系起来,设计出不断发展的模型DDD 目标概述 将主要重点放到核心领域和领域逻辑上(core domain)将复杂的业务逻辑的
阅读更多...