DDD实践

DDD实践反思 某大型互联网公司于2019年开始在XX中台财务域进行DDD实践。事后回顾,整体并没有达到预期的效果,个人也做了很多的反思和总结,形成此文。 1. 背景 为什么当时要实践DDD?其中的缘由比较复杂,可以从外部和内部两个视角来看。 首先,从外部也即整个BU的视角来看,最先开始实践DDD的是A域,并在该域诞生了一套在公司现有RPC框架之上的业务SPI框架(以下简称为【N框架】)。相较于dubbo这样纯技术的服务框架,它有以下特点: 标榜serverless,自身提供了代码托管和运行容器,可以直接进行服务的 阅读详情

Domain Driven Design

1、从定义来看,是一种思想,一种解决软件复杂性的一种方式。落地方案,结合实际业务场景。

2、对应关系来看,DDD很多思想比如领域划分,领域事件,领域服务,边界上下文划分,充血模型,代码防腐,统一语义等等可以很好的帮助实现中台的落地。

整体分析业务,再建模,而非直接对数据、行为进行建模。业务与技术易于进行同步演进。

充血模型的选择,认知成本更低,高内聚,更好维护。

学习内容,重点参考:

  1. DDD领域驱动设计详解

  1. 六步拆解DDD

【DDD系列-5】安防领域的DDD建设实践 屏蔽上层应用与供应商打交道的复杂性,抽象安防介质,安防载体集,安防载体等领域,变供应商模型的复杂关系为 人,介质,载体的简单关系2.安防DDD领域建设成果编排的流程:查询——填装——校验——处理。 阅读详情

相关推荐

DDD领域应用理论实践分析回顾

探讨领域驱动设计(DDD)在现代软件开发中的重要性,以复杂的B端营销系统为例看实际应用。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 8万+

DDD架构实践

什么是ddd架构,是以ddd思想为参考,做出一份符合ddd思想的框架。随着技术的迭代升级,越来越多的瓶颈暴露出来,性能瓶颈,系统复杂度瓶颈,这些都逐一被迭代出的技术产物解决。最终的一个产物微服务,几乎完美解决了性能和系统复杂度的问题,保证服务性能的前提下,还简化了系统的复杂度,降低开发难度,让系统更加容易维护。但是对于B端企业来说,单单解决性能和系统复杂度问题还远远不够,极度复杂的业务,让系统难以维护,动辄几百上千行的方法,让开发人员头疼。

Rubik Blog 1950

从string一词感受从字母象形到语义生成的底层逻辑

从词源上看,个人认为,soft一词的含义主要来自于“柔软水滑或柔软光滑”这样的含义,是从这样的含义中逐渐窄化,最终主要用来指“柔软”之意,而光滑、水滑这样的含义或语义形象最终被淡化,所以,soft如果符合首字母象形原则,那么它主要的来源形象,应当是【水】,也就是说,soft一词和smooth(a.光滑的)、ski(滑雪)/skate(滑冰)、slip(滑倒)/slippers(拖鞋)、slide(滑动)是相通的,并最终和sea(海)、sweat(汗/汗水)这一类和水一直相关的单词也相通。

nshkfhwr的博客 1269

DDD实践总结

具有唯一标识(ID)的领域对象,其身份区别于属性值是否相同。即使两个实体的属性完全相同,只要标识不同,它们也被视为不同对象。实体通常有自己的生命周期,在生命周期内状态可能变化,但其标识始终不变。比如物流系统中的“订单”具有唯一订单号,即使内容相同,不同订单号代表不同订单实体。:不以唯一标识区分,而是通过属性值判断相等的对象。值对象仅用于描述事物的特性,没有独立身份且应设计为不可变。当值对象的信息变化时,一般是用一个新对象替换旧对象,而非修改原对象。

www_79的博客 1137

IT世界里的“国境线”(芯片与算法篇)

首先分析下概念,对于芯片,相信大家已经比较了解,就不做过多的解释。我们说一下算法,虽然算法是应用在IT领域,但我相信学数学的同学,特别是学习计算数学的,对算法应该更加熟悉。记得在本科课程中,专门有一门课叫做“算法设计”。从概念上来讲,算法指的是解决问题的方法和流程,是一段逻辑,一系列解决问题的清晰指令。或者更通俗一点来讲,算法是从A到B,所有可能的计算方式。 一、 芯片与算法的关系 芯片和算法并不是独立或者对立的两个个体。芯片本身就集成了算法。算法是一种逻辑概念,芯片是算法的一种表现形式,软件也是算法的

weixin_49664622的博客 7018

Ubuntu22.04通过DKMS包安装Intel WiFi系列适配器(网卡驱动)

Ubuntu安装Intel WiFi系列适配器(网卡驱动)

lu_linux的博客 2600

DDD从入门到实践

DDD从入门到实践用领域驱动设计方法(简称DDD),保障在快节奏、多人协作的项目迭代中,维持系统的可维护性、可拓展性、高内聚低耦合和稳定性。作者首先剖解相关概念原理,之后代入亲身参与的微信团队实际项目、围绕DDD方法进行优化实操。DDD 全称 Domain-Driven Design,中文叫领域驱动设计,是一套应对复杂软件...

weixin_31659249的博客 206

揭秘无人机前沿领域的科技新突破

本文旨在系统性地介绍无人机技术在前沿领域的最新突破,涵盖从基础理论到实际应用的各个方面。我们将重点关注那些正在改变无人机行业面貌的关键技术创新,并分析它们对未来发展的影响。文章首先介绍无人机技术的基础概念和背景,然后深入探讨六个关键领域的技术突破,接着分析实际应用案例,最后展望未来发展趋势。自主导航系统(SLAM):同时定位与地图构建技术,使无人机能在未知环境中自主导航计算机视觉(CV):使无人机能够"看"和理解周围环境的技术5G通信:第五代移动通信技术,提供高速、低延迟的数据传输能源管理。

AI天才研究院 1490

DDD 模式从天书到实践

DDD 模式起源很早,但真正兴起是最近随着微服务一起又回到人们视野的,大多数开发者都或多或少了解一些,也知道它的很多优点,但很少有实际企业级项目的实践。 我来自国内一线互联网公司,我将带你领略 DDD 从理论到实践的整个过程,再教你如果成为一名 DDD 领域的布道师,成为领域推动者,本课程还将附带一份 DDD 开发权威宝典,欢迎订阅我们系列文章。 在本场 Chat 中,会讲到如下内容: DDD ...

GitChat 967

用Cloudflare Worker搭建你的私人Gemini Pro API

文章介绍如何通过开源项目gemini-cli-openai将谷歌Gemini模型转换为兼容OpenAI API的服务,解决Gemini CLI的三大使用障碍:网络访问、命令行操作和生态整合问题。部署流程主要包括获取Google OAuth2凭证、配置Cloudflare Worker项目并设置KV存储,最终可在CherryStudio等图形客户端中调用Gemini。该方法利用Cloudflare全球网络实现加速访问,同时保持认证信息安全可控。

Hsiao的二进制生活 1683

CAN轴控制流【6041,6040】

【代码】CAN轴控制流【6041,6040】

cfqq1989的博客 1783

架构-DDD完整的实践

实体有唯一的标识,有生命周期且具有延续性。例如一个交易订单,从创建订单我们会给他一个订单编号并且是唯一的这就是实体唯一标识。同时订单实体会从创建,支付,发货等过程最终走到终态这就是实体的生命周期。订单实体在这个过程中属性发生了变化,但订单还是那个订单,不会因为属性的变化而变化,这就是实体的延续性。

maizixuetang的博客 1093

2025最新!视频动作识别算法的前沿研究与论文解读

2025最新!视频动作识别算法的前沿研究与论文解读 ,人工智能,计算机视觉,大模型,AI,本文聚焦2025年视频动作识别算法前沿,先介绍其定义、意义及核心挑战,再阐述传统与深度学习方法。还解读了基于Transformer、轻量化、跨模态融合和半监督学习的前沿研究,解释关键概念,列举常用数据集、评价指标,分析当前问题与未来趋势,为该领域研究提供全面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

DDD 实践解析

限界上下文是领域模型的一部分,它定义了领域模型在软件中的边界。明确边界:边界应清晰定义,避免模糊区域,如用户管理模块不应涉及订单处理逻辑。最小化边界:边界应尽可能小,以减少复杂性,提高系统的可维护性。

AIHacksCash的博客 642

Windows下Anaconda和PyTorch深度学习环境完整安装配置教程

本文详细介绍了在Windows系统下安装配置PyTorch深度学习环境的完整流程。主要内容包括:硬件环境检查(确认GPU支持)、Anaconda环境管理系统的安装与配置、虚拟环境的创建与管理方法、以及PyTorch及其相关组件的安装指南。特别强调了版本兼容性选择策略(如CUDA版本的确定)、显卡驱动更新、使用Anaconda创建隔离的PyTorch专用环境等关键步骤。无论是使用CPU还是GPU版本,读者都能按照教程快速搭建稳定的PyTorch开发环境,为深度学习项目打下坚实基础。

FJN110的博客 973

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

11 | DDD实践:如何用DDD重构中台业务模型

DDD

weixin_38805083的博客 198

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

DDD 架构实践精粹

依赖注入:使用依赖注入来隔离限界上下文之间的依赖,从而确保上下文之间的低耦合。接口定义:为每个限界上下文定义清晰的服务接口,以实现上下文之间的交互。边界标记:使用边界标记(如命名空间、文件夹结构等)来标识限界上下文的边界。

我是Java程序员廖志伟,感谢朋友们的支持!不定期贡献一篇高品质、过万文字、图文并茂且附有视频解说、满载代码示例注释的良心之作,坚决杜绝粗制乱造。 800

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

DDD领域驱动设计落地实践系列:初识DDD

笔者在经历的很多项目中都使用了DDD领域驱动设计进行架构设计,尤其是在业务梳理、中台规划以及微服务划分等方面,DDD是重要的架构设计方法论,对平时的架构设计有非常好的指导作用。从本文开始笔者将通过一系列的文章阐述自己对于DDD的理解以及如何在项目实战中落地实践DDD。本文作为系列文章的开端,主要和大家聊聊DDD的一些基本概念以及常用方法。

2002

DDD设计实践解析

📘拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、SpringBoot、SpringMVC、SpringCloud、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RocketMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、MongoDB非关系型数据库、Apache ShardingSphere分库分表读写分离、设计模式、领域驱动DDD、Kubernetes容器编排等。

MoneyHacksPro的博客 721

DDD技术方案落地实践

在整个DDD开发过程中,除了建模方法和理论的学习,实际技术落地还会遇到很多问题。在多个项目的不断开发演进过程中,循序渐进的总结了很多经验和小技巧,用于解决过往的缺憾和不足。走向DDD的路有千万条,这些只是其中的一些可选方案,如有纰漏还请指正。目前我们采用的是内核整体分离,如下图所示。

IT枫斗者的博客 1228

DDD实践指南

📕我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》、(架构篇)、作者、清华大学出版社签约作家、Java领域优质创作者、优快云博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。

JavaCodePro的博客 886
下一篇: 行为型设计模式-Visitor vs Observer
SproutingTime
博客等级 码龄8年 8粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值