领域驱动设计精讲

【Dify精讲】第2章:后端服务架构深度剖析 Dify后端采用Flask应用工厂模式实现模块化开发,通过蓝图架构将API分为控制台、Web应用和服务接口三大模块。其设计亮点包括:1) 应用工厂模式支持多环境配置和独立测试;2) 蓝图分层管理实现API模块化,各模块职责清晰;3) 严格遵循RESTful原则设计API接口;4) 使用Flask-RESTful扩展简化API开发。这种架构既保持了Flask的灵活性,又实现了企业级应用的可维护性,是Flask项目架构的优秀实践案例。 阅读详情

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

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

Java程序员廖志伟

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

优快云

一、战略设计层

1. 领域划分

领域划分是领域驱动设计的基石,它要求开发者深入理解业务领域的本质,并以此为依据构建软件系统。在实现过程中,可以采用以下技术细节:

  • 领域模型构建:基于业务需求,抽象出实体、值对象、聚合、领域服务、事件等模型元素。
  • 领域模型映射:将业务流程和业务规则映射到领域模型中,确保模型与业务逻辑的一致性。
  • 领域边界识别:通过分析业务流程和数据流,识别核心域、支撑域和通用域,为后续设计提供指导。

核心域/支撑域/通用域识别

  • 核心域:采用实体-关系模型,以实体为核心,定义实体的属性、行为和关联关系。
  • 支撑域:采用服务导向架构,将业务规则和业务逻辑封装为服务,提供接口供核心域调用。
  • 通用域:采用组件化设计,将横切关注点如身份验证、日志记录等封装为通用组件,供整个系统使用。

子域拆分原则

  • 高内聚:确保子域内部组件紧密相关,减少子域之间的依赖,提高模块化程度。
  • 低耦合:通过定义清晰的接口,实现子域之间的解耦,降低系统复杂度。
  • 可复用性:设计时考虑子域的可复用性,将通用组件封装为库或框架,提高开发效率。

2. 限界上下文边界定义

限界上下文是领域模型的逻辑边界,它将领域模型中的代码和业务规则限制在一个明确的区域内。以下是一些技术实现细节:

  • 边界定义:通过定义接口和上下文映射模式,明确限界上下文的边界。
  • 统一语言:采用领域驱动设计中的统一语言,确保团队成员对领域模型有共同的理解。
  • 术语表构建:通过专家访谈、会议等方式,构建术语表,为团队成员提供统一的业务语言。

跨团队语义对齐

  • 文档编写:编写清晰的文档,详细描述限界上下文、统一语言和术语表,确保跨团队对术语有共同理解。
  • 培训:定期进行培训,确保团队成员掌握统一语言和术语表,提高团队协作效率。

上下文映射模式

  • 合作关系:通过定义接口,实现不同团队之间的数据和服务交换。
  • 客户-供应商:通过服务提供和消费,实现不同团队之间的业务协作。

二、战术设计层

1. 基础构件

实体标识设计

  • UUID生成:采用UUID生成算法,确保实体标识的唯一性和全局唯一性。
  • 数据库序列:利用数据库自带的序列生成机制,为实体生成唯一的标识。

值对象不可变性实现

  • 不可变类设计:采用不可变类设计模式,确保值对象的状态在创建后不可改变。
  • 封装:通过封装,隐藏值对象的状态,防止外部对值对象状态的修改。

聚合根一致性边界

  • 聚合根定义:明确聚合根的概念和职责,确保聚合内实体的一致性。
  • 一致性边界:通过定义聚合根的关联关系,确保聚合内实体的一致性。

2. 服务架构

领域服务与应用服务区分

  • 领域服务:将复杂的业务逻辑封装为领域服务,提高代码复用性。
  • 应用服务:处理应用程序层面的逻辑,如用户认证、授权等。

工厂模式应用场景

  • 创建对象实例:在创建复杂对象时,采用工厂模式,避免直接实例化对象。
  • 减少重复代码:通过工厂模式,避免在多个地方重复创建对象,提高代码可维护性。

仓储接口设计(CQRS模式)

  • CQRS:Command Query Responsibility Segregation,将命令和查询分离,提高系统性能。
  • 仓储接口:定义了领域模型与外部系统交互的接口,实现领域模型与基础设施的解耦。

3. 事件驱动

领域事件建模

  • 领域事件:表示领域内发生的事件,如订单创建、支付完成等。
  • 事件模型:定义事件及其生命周期,包括事件的触发、传播和处理。

事件溯源实现

  • 事件溯源:通过事件流来恢复领域状态,提高系统可扩展性和可维护性。
  • 持久化:将事件持久化到数据库,确保事件不会丢失。

最终一致性策略

  • 事件传播:确保所有系统都收到最新的事件,实现最终一致性。
  • 补偿事务:在事件传播失败时进行补偿,确保系统状态的一致性。

三、规则体系

1. 业务规则

前置条件验证

  • 验证:在执行业务操作之前,对业务规则进行验证,确保业务操作符合要求。
  • 错误处理:在不符合条件时,提供明确的错误信息,帮助用户了解问题原因。

不变式约束

  • 不变式:定义实体状态必须满足的条件,如订单状态必须为“已支付”。
  • 验证:在状态变化时,对不变式进行验证,确保实体状态满足条件。

规则引擎集成

  • 规则引擎:将业务规则封装为可执行的规则,提高业务规则的灵活性和可维护性。
  • 集成:将规则引擎集成到应用程序中,实现业务规则的自动化执行。

2. 流程规则

状态机设计

  • 状态机:表示实体状态变化的过程,如订单状态的变化。
  • 转换:定义状态之间的转换条件,如订单状态从“待支付”变为“已支付”。

工作流引擎对接

  • 工作流引擎:自动化处理业务流程,提高业务处理的效率。
  • 对接:将工作流引擎集成到领域模型中,实现业务流程的自动化管理。

Saga事务补偿

  • Saga:将一系列本地事务链接成一个分布式事务,提高分布式系统的可靠性。
  • 补偿:在事务失败时执行补偿操作,确保系统状态的一致性。

四、扩展实践

1. 架构集成

六边形架构适配

  • 六边形架构:将领域模型与基础设施解耦,提高系统的可扩展性和可维护性。
  • 适配:将领域模型与数据库、消息队列等基础设施适配,实现领域模型与基础设施的解耦。

事件风暴工作坊

  • 事件风暴:一种团队协作的方法,用于设计领域事件和领域模型。
  • 工作坊:组织事件风暴工作坊,让团队成员共同设计领域模型,提高团队协作效率。

微服务拆分模式

  • 微服务:将大型应用程序拆分为独立的服务,提高系统的可扩展性和可维护性。
  • 拆分模式:定义微服务的拆分标准和最佳实践,实现微服务的有效管理和维护。

2. 效能工具

代码生成框架

  • 框架:自动生成代码,提高开发效率。
  • 生成器:根据模板和配置生成代码,减少人工编写代码的工作量。

契约测试工具

  • 契约测试:确保服务接口的兼容性,提高系统稳定性。
  • 工具:使用契约测试工具自动测试服务接口,及时发现和修复接口问题。

可视化建模平台

  • 平台:提供可视化建模工具,帮助团队更好地理解领域模型。
  • 建模:使用可视化建模平台创建和共享领域模型,提高团队协作效率。

通过以上对领域驱动设计(DDD)各知识点的详细描述,我们可以看到DDD是一个系统化的方法论,它通过战略设计层和战术设计层的协作,结合规则体系和扩展实践,旨在构建一个可维护、可扩展的软件系统。每个知识点之间相互关联,共同构成了DDD的完整框架,帮助开发者更好地理解业务领域,并将其转化为高效的软件解决方案。

优快云

📥博主的人生感悟和目标

Java程序员廖志伟

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

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

Java程序员廖志伟

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

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

【Dify精讲】第2章:Flask应用工厂模式与模块化设计实战 本文深入剖析了Dify后端服务架构中Flask应用工厂模式的核心价值。通过解耦应用创建、配置加载与扩展初始化,该模式为复杂企业级应用提供了灵活的测试环境、多环境配置支持与清晰的模块化管理,是构建可维护、可扩展后端服务的基石。 阅读详情

相关推荐

云原生微服务架构实战精讲:从入门到项目落地

htmltable {th, td {th {pre {简介:在数字化转型浪潮下,云原生微服务架构已成为现代企业应用开发的核心范式。本专栏资源“云原生微服务架构实战精讲”系统讲解了基于容器、Kubernetes、服务网格与CI/CD的微服务设计与实践方法,涵盖从基础理论到真实场景的完整技术链条。通过实际案例驱动,帮助开发者掌握高可用、可扩展、易维护的分布式系统构建能力,深入理解DevOps文化、服务治理、监控日志体系及安全策略,全面提升云原生环境下的工程落地水平。

weixin_27645199的博客 888

DDD知识点精讲

限界上下文(Bounded Context)是领域的一个特定部分,它定义了领域模型、业务规则和业务逻辑的边界。

JavaCodePro的博客 610

UML建模实战案例精讲

接口只定义行为契约,不含实现(Java 8+允许default方法是个例外)。特点:- 完全抽象,强调能力而非身份;- 支持多重实现;- 方法默认public。适用场景:跨组件协议,如PayableExportableAuditable等能力标签。有人会问:“现在都有代码生成工具了,还需要手动画UML吗?我的回答是:需要,而且越来越需要。因为UML的价值从来不是“替代代码”,而是:- 在编码前进行设计验证;- 在团队间建立共识语言;

weixin_32102617的博客 867

DDD领域设计精讲

DDD是一种应对复杂业务系统的软件设计方法论,其核心目标是让软件设计与业务需求精准对齐。将业务领域分解为可管理的子域,明确核心业务价值;通过“统一语言”消除业务与技术团队的沟通壁垒;在明确的“界限上下文”内构建领域模型,保障模型的一致性;通过战术设计(聚合、实体、值对象等)将业务规则转化为代码逻辑;通过上下文映射定义跨域协作规则,实现系统的柔性集成。

小泽的博客 1224

模拟量传输4-20ma电流

大家可能会非常熟悉RS232,RS485,CAN等工业上常用的总线,他们都是传输数字信号的方式。那么,我们用什么方式来传输模拟信号呢?工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。 采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V,但是噪声的功率很弱,所以噪声电流通常小于nA级别,因此给4-20mA传输带来的误差非常小;电流源内阻趋于无穷.

tangdongming的博客 1万+

K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍

@创建于:2020.04.09 @修改于:2020.04.09,2024.06.22 文章目录1、kNN介绍2、k近邻法的三要素详解2.1 距离度量2.2 k值的选择2.3 分类决策规则3、k近邻法的实现:kd树4、Python实现过程5、优缺点6、常见问题 1、kNN介绍 kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类...

chenhepg的博客 9万+

架构师面试必备:领域驱动设计(DDD)实战指南——如何用DDD思想解构复杂业务系统

在当今快速变化的技术环境中,领域驱动设计(DDD)已经从一种可选的设计方法,演变为评估架构师能力的关键指标。界限上下文是DDD中最关键的战略设计模式,它定义了特定模型的边界,在这个边界内,领域术语、业务规则和模型元素具有一致的含义。值对象的不可变性确保了其在领域模型中的安全性,当需要修改时,我们不是修改原有的值对象,而是创建一个新的实例。从业务需求分析到领域模型设计,从界限上下文划分到聚合实现,每一步都需要深入理解业务本质,运用DDD的核心概念和模式来构建清晰、可维护的系统架构。

zuiyuelong的博客 1137

Python RK3588 MPP 8路视频硬解码!全体目光向我看齐!

本文重写了官方demo、加入了Zlmediakit进行拉流并通过pybind11将代码封装成so库,现在,在python中直接通过import的方式,就能完成基础的拉流解码操作,目前支持8路拉流解码!!!

m0_46303486的博客 4880

soc 设计soc设计 uml实务手册_企业内训“领域建模和领域驱动设计”训练方案(2020年)...

※训练介绍※软件开发中,需求是解决“系统怎样好卖”的问题,设计是解决“降低开发成本”的问题。要降低成本,就要尽可能复用已有的各种资源。目前大多数软件组织的复用往往只局限于基础设施级别的复用,很难复用产品所处核心域的组件。如果能够在基于核心域的复用方面做一些努力,对降低开发维护成本,改善利润会有很大帮助。特别是软件组织经过多年的积累,工作的范围往往会从单一的产品,变成围绕核心领域的一系列产...

weixin_39794385的博客 236

从零到一:3D Slicer与MONAI在医学影像中的AI革命

本文探讨了3D Slicer与MONAI在医学影像分析中的革命性应用,展示了如何通过开源工具实现高效的三维影像处理和AI增强分析。结合临床案例,详细介绍了从数据准备到AI分析的全流程,显著提升诊断效率和精度,推动医学影像技术迈向新纪元。

tcp8optimizer的博客 342

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 523

soc 设计soc设计 uml实务手册_“领域驱动设计”训练方案(2019年)

※训练介绍※软件开发中,需求是解决“系统怎样好卖”的问题,设计是解决“降低开发成本”的问题。本训练聚焦第二个方面,介绍领域建模和领域驱动设计的技能,提升基于核心域组件的复用,降低产品线的开发维护成本。经过多年的积累,软件公司往往会从单一的产品,变成围绕核心领域的一系列产品线,其中的各款产品都存在很多相同的机制,但又有许多不同。目前大多数软件公司的复用往往只局限于基础平台级别的复用,很难做...

weixin_39636645的博客 164

Unity 机械臂控制(二)——从碰撞检测到姿态解算:实现精准抓取

本文详细介绍了Unity中机械臂控制的实现方法,从碰撞检测到姿态解算,涵盖精准抓取的全流程。重点讲解了碰撞检测的分层处理、状态机设计、逆向运动学(IK)算法以及抓取稳定性优化等关键技术,并提供了实用的调试技巧和性能优化建议,帮助开发者实现高效的机械臂控制。

weixin_28693447的博客 307

战略设计层核心技术精讲

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

AIHacksCash的博客 916

让 IF 更好读:在 ABAP 里尽量使用正向条件的实战指南

摘要:SAP系统开发中,代码可读性与可维护性的关键往往在于条件判断的写法。Clean ABAP风格指南建议尽量采用正向表达的条件判断,如使用has_entries = abap_true而非否定式写法。正向表达能降低理解成本,避免"否定的否定"带来的逻辑混乱,但不应为追求正向而制造空分支。在团队协作中,正向条件更利于代码评审和测试覆盖,建议通过工具检查和智能评审确保规范执行。落地时可关注变量命名正向化、避免空分支、主流程清晰展开等要点,以提升长期维护效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

27、自闭症儿童治疗与玩具设计研究

本研究探讨了自闭症儿童的治疗方法与玩具设计之间的关联,分析了游戏疗法、音乐疗法和职业疗法等在治疗中的应用,并介绍了多种针对自闭症儿童的治疗玩具案例。通过用户研究和多学科合作,提出了以Pro-Ability为核心的设计理念,开发了结合音乐疗法和精细运动训练的智能玩具套件。研究总结了当前成果与局限性,并展望了未来发展方向,旨在为自闭症儿童提供更有效的康复支持。

keras9composer的博客 211

AI时代DDD实战:用领域驱动设计驾驭复杂智能系统架构

领域驱动设计(DDD)是一套应对复杂软件系统的核心方法论,其核心思想是通过建立精准的领域模型来映射和封装复杂的业务逻辑。其原理在于划分清晰的限界上下文,构建以聚合、实体、值对象为核心的战术模型,并通过通用语言确保业务与技术团队的同频沟通。在技术价值上,DDD能有效治理系统复杂度,提升代码的可维护性与架构的清晰度。随着AI技术深度融入业务系统,传统的业务逻辑与新兴的智能逻辑(如机器学习模型、推荐算法)交织,带来了新的架构挑战。此时,DDD强调的领域核心隔离与清晰边界思想,为集成**AI能力**、管理**模型版

weixin_32520095的博客 227

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UMLChina书籍大全(2024)软件方法人月神话人件企业应用架构模式UML参考手册彩色UML建模领域驱动设计对象设计……

《人月神话》之后,UMLChina又和清华大学出版社合作,翻译了《人件》和《最后期限》

rolt的专栏 1207

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

云原生微服务架构实战精讲第四节 微服务划分和API接口设计

第08讲:如何对示例应用进行微服务划分 在第 07 课时介绍了领域驱动设计的基本概念之后,本课时将介绍如何在微服务划分时应用领域驱动设计相关的思想。 微服务划分 在微服务架构应用的设计和实现中,如果要找出最重要的一个任务,那必定是非微服务划分莫属。微服务架构的核心是多个互相协作的微服务组成的分布式系统,只有在完成微服务的划分之后,才能明确每个微服务的职责,以及确定微服务之间的交互方式,然后再进行每个微服务的 API 设计,最后才是每个微服务的具体实现、测试和部署。 从上述流程中可以看到,微服务划分处在应用

fegus的博客 3064

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

9月,重磅推出Linux、数据结构、领域驱动等10本程序员新书

9月,收获的季节,这个月,程序员书上架比较集中,本月大概有10本新书与您相约。 1、Linux就该这么学(第2版) Linux入门教程书籍,基于Linux系统RHEL8编写,每章带有图表及习题,知识点覆盖红帽认证RHCE考试要求,配套站点提供软件、学习资料及答疑服务。 《Linux就该这么学(第2版)》在上一版的基础上进行了大量的更新,基于红帽RHEL 8系统编写,且内容适用于CentOS、Fedora等系统。本书共分为20章,内容涵盖了部署Linux系统,常用的Linux命令,与文件读写操作

人邮异步社区 2581

DDD战略战术设计精讲

不定期分享高并发、高可用、高性能、微服务、分布式、海量数据、性能调优、云原生、项目管理、产品思维、技术选型、架构设计、求职面试、副业思维、个人成长等内容。在技术实现上,可以通过定义领域服务接口和实现类,以及使用服务注册与发现机制来实现服务之间的解耦。

JavaCodePro的博客 1046

云原生微服务架构实战精讲第三节 示例用户场景分析和领域驱动DDD

第05讲:什么是服务网格(Service Meh) 本课时我将带你学习“服务网格”的相关内容。 服务网格(Service Mesh)是随着 Kubernetes 和微服务架构的流行而出现的新技术,它的目的是解决微服务架构的服务之间相互调用时可能存在的各种问题。微服务架构的服务之间采用进程间的通讯方式进行交互,比如 REST 或 gRPC 等。在第 01 课时介绍微服务架构的时候,我提到过影响微服务架构复杂度的一个重要因素就是微服务之间的相互调用,这使得应用需要对服务调用时产生的错误进行处理。比如,当调用

fegus的博客 810

祝贺|合肥.NET俱乐部第二期技术沙龙活动圆满成功

热烈祝贺合肥.NET俱乐部第二期技术沙龙圆满成功,感恩参与活动的每一位小伙伴!正是因为有你们才促成了这次聚会的成功。现对此次活动进行简单回顾并附上精彩的活动图片,每一位参与活动者名单,以及此次活动讲师分享的PPT供大家学习下载。 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/15057511.html 精彩回顾 在下午1:30到2:00进行活动的...

依乐祝的博客 407

软件工程导论之类图 (Class Diagram):万字精讲从理论到实战(附完整案例+避坑指南)

类图是统一建模语言(UML)中用于描述系统静态结构的一种结构图。它展示了系统中存在的类(Classes)接口(Interfaces)属性(Attributes)操作(Operations/Methods)以及它们之间的关系(Relationships)。类图是面向对象分析与设计(OOAD)的核心产出物,它将现实世界中的概念抽象为软件中的类,并定义了这些类如何协同工作以实现系统功能。类图的价值,在于它迫使我们在敲下第一行代码之前,先进行深度思考。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 464

UML_China 软件开发

· UMLChina答疑记录2月14日更新  · 2月22-23日北京UML全程实作公开课  · 《软件方法(上)》第2次印刷修正  · UML工具大全201401更新  · 《软件方法(上)》出版故事  · Enterprise Architect简讯  · UMLChina讲座录音重新上传  · UML团队开发流程与管理(第2版)上市  · 恼人

linuxarmsummary的专栏 1341
上一篇: ShardingSphere核心技术解析
下一篇: 领域驱动设计实践指南
Java开发廖志伟
博客等级 码龄2年 3491粉丝 1534原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值