领域驱动设计(DDD)实践精粹

DDD领域驱动设计的原理与实践 DDD领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论, 它强调将业务领域知识和业务规则作为软件设计和开发的核心。DDD并不是一种特定的系统架构,而是一种设计思维和方法论, 旨在帮助开发人员更好地理解业务领域,将复杂的业务逻辑转化为可维护、可扩展的软件系统。DDD是一种软件设计方法论,它将业务概念和业务规则转换为软件系统中的概念和规则,以降低或隐藏业务复杂性。它强调对业务领域的深入理解,并将这种理解映射到软件模型中。 阅读详情

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

📘拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、SpringBoot、SpringMVC、SpringCloud、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RocketMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、MongoDB非关系型数据库、Apache ShardingSphere分库分表读写分离、设计模式、领域驱动DDD、Kubernetes容器编排等。不定期分享高并发、高可用、高性能、微服务、分布式、海量数据、性能调优、云原生、项目管理、产品思维、技术选型、架构设计、求职面试、副业思维、个人成长等内容。

Java程序员廖志伟

🌾阅读前,快速浏览目录和章节概览可帮助了解文章结构、内容和作者的重点。了解自己希望从中获得什么样的知识或经验是非常重要的。建议在阅读时做笔记、思考问题、自我提问,以加深理解和吸收知识。阅读结束后,反思和总结所学内容,并尝试应用到现实中,有助于深化理解和应用知识。与朋友或同事分享所读内容,讨论细节并获得反馈,也有助于加深对知识的理解和吸收。💡在这个美好的时刻,笔者不再啰嗦废话,现在毫不拖延地进入文章所要讨论的主题。接下来,我将为大家呈现正文内容。

优快云

一、战略设计层

领域划分

在领域划分过程中,首先需要对业务进行深入分析,识别出业务中的核心概念和实体。例如,在电子商务系统中,核心域可能包括商品管理、订单处理和用户账户等。支撑域可能包括支付处理、物流跟踪和数据分析等。通用域则可能包括用户认证、日志记录和消息队列等。

核心域/支撑域/通用域识别
  • 核心域:核心域的设计需要关注业务逻辑的复杂性和变化性。例如,在核心域中,商品实体可能包含多个属性,如名称、价格、库存等,并且需要实现增删改查等基本操作。
  • 支撑域:支撑域的设计应确保其独立性和可复用性。例如,用户管理支撑域可以提供用户注册、登录、权限验证等功能,这些功能可以在多个核心域中使用。
  • 通用域:通用域的设计应考虑跨领域的通用需求。例如,身份验证通用域可以采用OAuth 2.0协议,实现单点登录和多因素认证。
子域拆分原则

在子域拆分时,应遵循以下原则:

  • 业务逻辑独立性:确保每个子域都有明确的业务目标,不依赖于其他子域。
  • 复杂性和变化频率:将复杂度高且变化频率低的业务逻辑集中在一个子域中,便于管理和维护。
限界上下文边界定义

限界上下文边界定义需要考虑以下因素:

  • 数据一致性:确保限界上下文内部的数据是一致的。
  • 服务隔离:限界上下文之间应保持服务隔离,避免相互影响。
  • 技术栈一致性:限界上下文内部应使用相同的技术栈,以简化开发和维护。
统一语言

统一语言包括术语表、模型和语言约定。构建统一语言的方法包括:

  • 术语表构建:通过文档和会议等方式,定义和传播领域术语。
  • 模型构建:使用UML、领域模型图等工具,可视化领域结构。
  • 语言约定:制定编码规范和命名规范,确保代码的可读性和一致性。
跨团队语义对齐

跨团队语义对齐需要通过以下方式实现:

  • 定期会议:定期召开跨团队会议,讨论领域模型和术语。
  • 培训:对团队成员进行领域知识的培训,确保他们理解领域模型和术语。
上下文映射模式

上下文映射模式包括以下几种:

  • 合作关系:通过定义接口和协议,实现不同上下文之间的数据交互。
  • 客户-供应商:使用服务契约和服务端点,实现不同上下文之间的服务调用。

二、战术设计层

基础构件
实体标识设计

实体标识设计需要考虑以下因素:

  • 唯一性:确保实体标识在全局范围内唯一。
  • 持久性:实体标识在实体生命周期内保持不变。
  • 可扩展性:实体标识应支持未来扩展。
值对象不可变性实现

值对象不可变性实现可以通过以下方式实现:

  • 构造函数:在构造函数中初始化值对象的属性,确保属性不可修改。
  • 禁止属性赋值:禁止在类外部修改值对象的属性。
聚合根一致性边界

聚合根一致性边界设计需要考虑以下因素:

  • 聚合根选择:选择合适的实体作为聚合根,确保聚合内对象的一致性。
  • 聚合根操作:聚合根操作应遵循聚合内对象的一致性原则。
服务架构
领域服务与应用服务区分

领域服务与应用服务的设计需要考虑以下因素:

  • 业务逻辑:领域服务负责处理业务逻辑,应用服务负责处理基础设施相关的逻辑。
  • 数据访问:领域服务负责访问领域模型,应用服务负责访问数据存储。
工厂模式应用场景

工厂模式在以下场景中应用:

  • 对象创建逻辑复杂:当对象创建逻辑复杂时,使用工厂模式可以简化对象创建过程。
  • 对象类型不确定:当对象类型不确定时,使用工厂模式可以延迟对象类型的确定。
仓储接口设计(CQRS模式)

CQRS模式中,仓储接口设计需要考虑以下因素:

  • 命令仓储:负责处理业务操作,如创建、更新和删除实体。
  • 查询仓储:负责处理查询操作,如获取实体列表、获取实体详情等。
事件驱动
领域事件建模

领域事件建模需要考虑以下因素:

  • 事件类型:定义事件类型,如创建事件、更新事件和删除事件。
  • 事件数据:定义事件数据结构,包括事件类型和事件相关数据。
事件溯源实现

事件溯源实现需要考虑以下因素:

  • 事件存储:选择合适的事件存储方案,如数据库、消息队列等。
  • 事件处理:设计事件处理流程,包括事件接收、事件解析和事件应用。
最终一致性策略

最终一致性策略设计需要考虑以下因素:

  • 一致性条件:定义一致性条件,如数据一致性、状态一致性等。
  • 一致性保证:设计一致性保证机制,如事件补偿、事务管理等。

三、规则体系

业务规则
前置条件验证

前置条件验证可以通过以下方式实现:

  • 领域服务:在领域服务中实现业务规则验证。
  • 规则引擎:使用规则引擎进行业务规则验证。
不变式约束

不变式约束可以通过以下方式实现:

  • 领域模型:在领域模型中定义不变式约束。
  • 领域服务:在领域服务中实现不变式约束的检查。
规则引擎集成

规则引擎集成可以通过以下方式实现:

  • 规则定义:使用规则定义语言定义业务规则。
  • 规则引擎:使用规则引擎执行业务规则。
流程规则
状态机设计

状态机设计需要考虑以下因素:

  • 状态定义:定义对象可能的状态。
  • 状态转换:定义状态之间的转换条件。
工作流引擎对接

工作流引擎对接需要考虑以下因素:

  • 工作流定义:使用工作流定义语言定义业务流程。
  • 工作流引擎:使用工作流引擎执行业务流程。
Saga事务补偿

Saga事务补偿需要考虑以下因素:

  • 事务定义:定义分布式事务的各个阶段。
  • 补偿操作:定义事务补偿操作,确保事务的最终一致性。

四、扩展实践

架构集成
六边形架构适配

六边形架构适配需要考虑以下因素:

  • 领域模型:将领域模型划分为内、外两层。
  • 基础设施:将基础设施封装在外层,实现与领域模型的隔离。
事件风暴工作坊

事件风暴工作坊需要考虑以下因素:

  • 参与者:邀请相关领域的专家和开发者参与。
  • 流程:遵循事件风暴的流程,包括问题发现、解决方案设计和验证。
微服务拆分模式

微服务拆分模式需要考虑以下因素:

  • 服务划分:根据业务需求和服务职责划分微服务。
  • 服务通信:设计服务之间的通信机制,如RESTful API、消息队列等。
效能工具
代码生成框架

代码生成框架需要考虑以下因素:

  • 模板:定义代码模板,包括类名、属性、方法等。
  • 元数据:定义元数据,如实体、关系、属性等。
契约测试工具

契约测试工具需要考虑以下因素:

  • 测试用例:定义测试用例,包括输入、输出和预期结果。
  • 测试执行:执行测试用例,验证服务接口的正确性。
可视化建模平台

可视化建模平台需要考虑以下因素:

  • 模型创建:提供图形化界面,方便用户创建和编辑领域模型。
  • 模型共享:支持模型共享和协作,方便团队成员共同理解和维护领域模型。

通过以上对DDD相关知识点的详细描述,我们可以看到DDD不仅关注于代码的实现,更注重于对业务领域的理解和建模。通过战略设计层和战术设计层的结合,以及规则体系和扩展实践的应用,DDD能够帮助团队构建出更加健壮和灵活的软件系统。

优快云

📥博主的人生感悟和目标

Java程序员廖志伟

希望各位读者大大多多支持用心写文章的博主,现在时代变了,信息爆炸,酒香也怕巷子深,博主真的需要大家的帮助才能在这片海洋中继续发光发热,所以,赶紧动动你的小手,点波关注❤️,点波赞👍,点波收藏⭐,甚至点波评论✍️,都是对博主最好的支持和鼓励!

- 💂 博客主页: Java程序员廖志伟
- 👉 开源项目: Java程序员廖志伟
- 🌥 哔哩哔哩: Java程序员廖志伟
- 🎏 个人社区: Java程序员廖志伟
- 🔖 个人微信号: SeniorRD

Java程序员廖志伟

📙经过多年在优快云创作上千篇文章的经验积累,我已经拥有了不错的写作技巧。同时,我还与清华大学出版社签下了四本书籍的合约,并将陆续出版。这些书籍包括了基础篇、进阶篇、架构篇的📌《Java项目实战—深入理解大型互联网企业通用技术》📌,以及📚《解密程序员的思维密码--沟通、演讲、思考的实践》📚。具体出版计划会根据实际情况进行调整,希望各位读者朋友能够多多支持!

🔔如果您需要转载或者搬运这篇文章的话,非常欢迎您私信我哦~

领域驱动设计(DDD)与Spring Boot JPA实践指南 DDD的基本概念和理念:解释了什么是领域驱动设计,以及它的核心理念,如以领域为中心、统一语言、协作设计等。 DDD的核心概念详解: 战略设计:界限上下文、上下文映射 战术设计:实体、值对象、聚合、领域服务、领域事件、仓储等 Spring Boot和JPA实现DDD的完整流程: 识别界限上下文 构建领域模型(包含完整的Java代码示例) 定义应用服务 创建REST控制器 处理领域事件 项目结构组织 DDD的优缺点分析: 优点:更好反映业务需求、提高代码可维护性、适应业务变化等 缺点:学习曲线陡峭、前 阅读详情

相关推荐

Golang 领域驱动设计(DDD)最佳实践

一个实体是一个唯一的东西,并且可以在相当长的一段时间内持续地变化。唯一的身份标识和可变性(mutability)特征将实体对象和值对象(ValueObject)区分开来。——《实现领域驱动设计》存储层(Repository)接口定义import ("context"

yonggeit的博客 4611

DDD实践核心:领域驱动设计精粹

限界上下文是领域模型在软件中的实际实现,它定义了领域模型的边界。限界上下文应与业务场景紧密相关,避免过度设计。业务场景识别:识别业务场景,将领域模型划分为多个限界上下文,每个上下文对应一个特定的业务场景。上下文边界设计:设计上下文边界,确保边界内的领域模型保持一致性,边界外则与外部系统解耦。

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

告别谷歌!QGC地面站v4.0.x保姆级教程:用高德/天地图瓦片替换老旧地图源

本文提供QGroundControl(QGC)地面站v4.0.x的详细教程,指导用户如何用高德地图和天地图瓦片替换默认地图源,解决数据陈旧、访问不稳定等问题。教程涵盖环境配置、源码修改、地图集成及性能优化,帮助无人机开发者打造稳定高效的中文地图解决方案。

weixin_30836759的博客 503

DDD该怎么学

2006年,国内的互联网才刚刚萌芽,人们甚至还不习惯网购,大多数在校生都在宿舍里刷魔兽世界副本。但企业软件开发却得到了蓬勃发展,各种公司和事业单位都纷纷进行信息化转型。然...

dotNET跨平台 714

基于verilog的16QAM调制

思路1:正交调幅法——实现16QAM调制,可以理解为时相位相差90度的两个正弦波的4PAM叠加。 4比特输入经过2->4进制转化得到两路2比特输入,然后分别经过4PAM后叠加所得输出即为16QAM调制结果。 具体程序稍后编写。 思路2:复合相移法——可以借助前面编写的QPSK,相当于两路幅度不同的QPSK的叠加,比如幅度分别取1和3 。 思路1正交调幅法的设计方案: 两正弦波相位差...

weixin_30725467的博客 2929

《UVM实战》学习笔记——第三章UVM基础

uvm基础,常见的派生类,config db机制,打印信息等

qq_42135020的博客 5178

领域驱动设计:软件核心复杂性应对之道_领域驱动设计入门正确姿势

刚工作那会儿就尝试学习过领域驱动设计ddd,由于姿势不正确(买了本Eric Evans的英文原版领域驱动设计 : 软件核心复杂性应对之道(英文版)),导致了果断弃坑。。最近复盘和总结过往的一些项目代码设计,隐约觉得ddd比较契合自己对于一些业务代码设计问题的思考,所以打算重新入坑。到今天为止,算是有点入坑的感觉了,所以简单总结下这次的入坑姿势(其实主要是自己看到的一些比较适合入门的学习资料分享一下...

weixin_39819283的博客 179

OWASP 2025版AI大模型攻击安全风险汇总(攻击方法种类)

提示词注入是大模型最基础、最常见的核心漏洞,攻击者通过构造直接或间接的恶意自然语言输入,篡改大模型原本的正常行为与输出结果。哪怕这类恶意内容对人类是隐藏、不可见的,只要模型能够正常解析读取,就会触发漏洞。它和大家常说的模型“越狱”相关,但并不等同:越狱是提示词注入的极端形式,会直接让模型彻底无视所有内置安全协议,完全脱离管控;而普通提示词注入,更多是针对性篡改模型行为、诱导执行特定操作。

墨痕诉清风的博客 521

温故知新——领域驱动设计

这里是Z哥的个人公众号每周五11:45 按时送达当然了,也会时不时加个餐~我的第「225」篇原创敬上大家好,我是Z哥。这两天正好有空,花了一下午的时间重新翻阅了一遍《领域驱动设计精粹》,结合最近一阵子的新项目开发,有了一些新的感受和理解。这就是所谓的“温故而知新”吧,在这里分享给大家。分享的这些点,大多是在践行「领域驱动设计(DDD)」时的关键点,有助于「DDD」的落地。...

Zachary的博客 198

《UDS协议从入门到精通》系列——到底什么是DTC?

到底什么是DTC?看这里,深度图解DTC格式,详述DTC状态位、快照信息和扩展信息!!

车载系统攻城狮 1万+

【Burp入门第二十二篇】BurpSuite配置Hea插件教程+添加配置项

HaE是一个基于BurpSuite Java插件API开发的辅助型框架式插件,旨在实现对HTTP消息的高亮标记和信息提取。该插件通过自定义正则表达式匹配响应报文或请求报文,并对匹配成功的报文进行标记和提取。

等风来 9633

DDD领域驱动设计详解

DDD领域驱动设计1. 领域驱动设计1.1 什么是领域驱动设计1.2 为什么用领域驱动设计2. DDD核心知识体系2.1 DDD核心概念2.2 DDD战略战术设计2.2.1 DDD战略设计2.2.1 DDD战术设计3. DDD微服务架构模型3.1 基本架构3.1.1 DDD分层架构3.1.1 六边形理论3.1.1 CQRS架构设计3.2 代码结构3.3 服务调用 1. 领域驱动设计 1.1 什么是领域驱动设计 领域驱动设计(Domain Driven Design) 是一种从系统分析到软件建模的一套方法论

靖节先生的博客 6万+

Python 实现生命游戏及进化模拟完整指南

生命模拟是进化计算的一个特定子集,模拟了自然界中所观察到的自然过程,例如粒子或鸟群的聚集方式。生命模拟只是用来探索和优化问题的模拟形式之一,还有很多其他形式的模拟,可以更好地建模各种过程,但它们都源于康威生命游戏 (Conway’s Game of Life)。在本节中,我们将介绍生命模拟的基本概念,并使用 Python 实现康威生命游戏。

盼小辉丶的博客 7万+

【DDD落地实践系列】DDD 领域驱动设计落地实践:六步拆解 DDD

相信通过前面几篇文章的介绍,大家对于 DDD 的相关理论以及实践的套路有了一定的理解,但是理解 DDD 理论和实践手段是一回事,能不能把这些理论知识实际应用到我们实际工作中又是另外一回事,因此本文通过实际的业务分析把之前文章中涉及的理论和手段全部带着大家走一遍,我想通过这种方式,让大家实际的感受下 DDD 落地过程中会遇到哪些问题以及我们应该怎样去解决这些问题。

1万+

【FF-A】第二章 Introduction

Armv8.4 架构引入了在安全状态下的虚拟化扩展。Arm® SMMU v3.2 架构[1]为安全流添加了对第2阶段翻译的支持,以补充在 Armv8.4 处理器状态下的安全 EL2 翻译制度。这些架构特性使得在安全状态下,彼此不信任的软件组件能够相互隔离。关于在安全状态下引入虚拟化扩展以及固件框架目标的更多理念可在名为《在安全世界使用虚拟化进行隔离》的白皮书[3]中找到。软件组件只能访问物理地址空间和系统资源的区域,例如 GIC 中对其正确运行必要的中断。

baron-周贺贺-代码改变世界ctw 528

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

DDD - 一文读懂DDD领域驱动设计

2004 年埃里克·埃文斯(Eric Evans)发表了《领域驱动设计》(Domain-Driven Design–Tackling Complexity in the Heart of Software)这本书,从此领域驱动设计(Domain Driven Design,简称 DDD)诞生。DDD 核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。DDD是一种设计思想,通过事件风暴使用通用语言对业务进行领域建模,通过限界上下文进行合理的领域拆分。

JavaGPT的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

领域驱动设计 (DDD)实例分析

本文结合实例来分析下领域驱动设计 (DDD) 文章目录概述 概述

wh柒八九的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

一文了解大厂的DDD领域驱动设计

1.什么是DDD? DDD名为:Domain Driven Design (领域驱动设计) 简称:DDD 概念来源于2004年著名建模专家eric evans发表的他最具影响力的书籍 2.DDD与我们的传统开发又有什么区别和优势? 有过工作的朋友都知道国内大多数开发模式为: MVC【 Model-View-Controller(模型-视图-控制器) 模式】,MVVM【Model-View-ViewMode(简称:前后端分离)】,MVCC(并发版本控制)以及后面的SOA架构(面向服务架构,软件接口组件调用)等

qq_43652793的博客 1万+

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

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

2002

DDD 领域驱动设计落地实践系列:工程结构分层设计

前面几篇文章中,笔者给大家阐述了 DDD 领域驱动设计的三大过程,重点围绕如何通过战略设计与战术设计进行 DDD 落地实践进行了详细的讨论,但是还没有涉及到工程层面的落地。实际上所有的这些架构理论到最后都是为了使得我们代码结构更加清晰,从而开发出 bug 少、扩展性强、逻辑清楚的应用。因此本文就是为了解决 DDD 领域驱动落地实践最后一公里问题,将我们分析出来的领域模型通过与工程结构的映射实现真正的落地。

4303

浅析 DDD 领域驱动设计

前言 最近公司一场有关于领域驱动设计的技术分享会,引起了我的注意,主要讲解了服务的划分,Restful API的设计,如何将抽象具有统一业务的范畴的Model,使其模块化,同时能够提炼组合多个模块,使得业务能够独立服务化,在软件开发中如何降低系统的复杂度是一个永恒的挑战,在之前都是通过一系列的设计模式或者范例来降低一些比较常见的复杂度,这些都是通过技术手段来解决技术问题,没有从根本上解决业务上的问题,但是在03年 Eric Evans 的《Domain Driven Design》 中,才是真正的从业务的

牧小农 3963

领域驱动设计(DDD)是什么?——从理论到实践的全方位解析

领域驱动设计(DDD)概述DDD 是一种以业务领域为核心的建模方法,它主张从实际业务问题中提炼出领域模型,并借助与业务专家共同构建的“普适语言”,确保开发人员与业务人员在同一概念体系下沟通与协作。核心目标捕捉复杂业务逻辑:将实际业务中的规则和流程精确地映射到代码模型中。降低系统耦合:通过划分业务边界,使得各模块之间保持高度独立,从而提升代码复用性和系统灵活性。高内聚、低耦合的系统构建高内聚:指系统内部各模块、组件围绕单一业务目标组织,职责单一,内部关系紧密。

开源AI 专属 UI——papyrai-ui。《千界明彻录》(故事形式构建元思维)——胡说小说。更多思辨内容在公众号。 2487

领域驱动设计(DDD)在C#中的实践

领域驱动设计是一种强大的软件开发方法论,它能够帮助我们构建与业务领域紧密贴合的软件系统。在C#中实践DDD,需要深入理解业务领域知识,建立领域模型,并实现分层架构、限界上下文、聚合、实体、值对象和领域事件等核心概念。通过遵循DDD的原则并结合C#语言的特性进行实现,我们可以构建出高质量、可维护、可扩展的软件系统。以下是一个实际的领域驱动设计(DDD)在C#中的实践例子,这个例子展示了如何为一个简单的电商系统构建领域模型,并实现部分业务逻辑。

学习和分享 1815

DDD(领域驱动设计) 概述

DDD 领域驱动设计 概述

qq_36010886的博客 1万+

【DDD】领域驱动设计实践

【DDD】领域驱动设计实践一、框架实现图二、框架详述User Interface层application层domain层infrastructure层三、模块结构四、引发思考 转载:https://www.cnblogs.com/daoqidelv 一、框架实现图 该框架实现基本和DDD的指导思想契合,主要分为四层,且将关注点放在了domain层。下面将逐层介绍各个组件的职责。 二、框架详述 User Interface层 门面层,对外以各种协议提供服务,该层需要明确定义支持的服务协议、契约等。包含:

HaSaKing的博客 4240

浅析DDD(领域驱动设计)

最近在做一些微服务相关的设计,内容包括服务的划分,Restful API的设计等。其中比较棘手的就是Service的职责划分:如何抽象具有统一业务范畴的Model,使其模块化,又如何高度提炼并组合多模块,使得业务可独立服务化。为了找寻答案,看了不少书籍和博客,在DDD中找到了一些思路,个人觉得受益匪浅,或许也可以受用于大家,特分享于此。 什么是DDD软件开发不是一蹴而就的事情,我们不可能在不了解产品

追 1万+
上一篇: DDD设计模式解析
下一篇: Spring框架核心技术解析
Java开发廖志伟
博客等级 码龄2年 3491粉丝 1534原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值