写点什么

领域驱动设计

20 人感兴趣 · 60 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/95/953557025724b82876133990606a9f6d.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101 - 领域服务

用户头像
luojiahu15 小时前

前面,我们讨论了实体和值对象这两个概念,实体和值对象用来对领域中的事物或者事物的属性进行建模,但是,我们面对的领域中,不仅仅有实体和值对象,还有针对实体的操作。

https://static001.geekbang.org/infoq/3d/3d21a65f097192f0080e823b16bdbe67.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101 - 值对象

用户头像
luojiahu5 月 29 日

与实体相比,值对象(Value Object)最大的特征与区别在于,实体表达了一个有生命周期的、有唯一标识的、处于变化中的事物;而值对象是没有生命周期的,无所谓是否具有唯一标识。

https://static001.geekbang.org/infoq/60/60938148870e3eb432a867271dac1775.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101 - 实体

用户头像
luojiahu5 月 16 日

在对现实世界进行建模的过程中,有一类事物,他们具有唯一性,一旦生成便区别于其他个体。虽然本身的特征(属性)可能发生变化,但是他们有一个唯一确定的身份标识。

https://static001.geekbang.org/infoq/9b/9b2d101fe08714ef82d53d3dddaaee75.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101- 上下文与持续集成

用户头像
luojiahu4 月 19 日

前面我们已经讨论了领域、模型、通用语言以及分层设计这些领域驱动设计中的基础概念。现在,让我们来认识领域驱动设计中战略设计相关的概念。

领域驱动设计(DDD):领域和子域

用户头像
xcbeyond4 月 12 日

在很长一段时间里,我们认为技术是主导项目成功的关键因素,这种关键因素通常表现在项目使用的编程语言、框架、架构(如:分层架构)、中间件、数据库等等方面(如:生态)。但技术真的是项目成功的关键因素吗?

https://static001.geekbang.org/infoq/30/3079a037a4d7c38a72ccc0229ea4530d.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101 - 分层

用户头像
luojiahu4 月 10 日

分层架构是现有软件开发的普遍架构模式,大家对于分层已经非常熟悉。为什么要做分层?一个马上可以想到的理由是层次化可以使软件更加清晰。那么这里所说的清晰指的具体是什么,可以再仔细进行一下讨论。

面试官问:能聊聊你对充血模型和贫血模型的理解吗?

用户头像
面试官问4 月 9 日

面试官问:随着微服务架构的普及,领域驱动设计也焕发了新春,得到了大范围的推广,在代码实现层面,领域驱动设计相比数据表驱动设计的主要区别就是充血模型和贫血模型,你能聊聊对这两个模型的理解吗?

https://static001.geekbang.org/infoq/35/355cf478190c48ba1b2e54da2c874439.jpeg?x-oss-process=image/resize,w_416,h_234

8x Flow 业务建模法(二):再看什么是业务逻辑

用户头像
胡皓4 月 4 日

在上一篇文章《8x Flow 业务建模法(一):你能分清业务和领域吗?》中,向大家介绍了8x Flow背后的关键思想,即“业务逻辑和领域逻辑”分离,并介绍了业务逻辑和领域逻辑的区别。 在开始进行业务分析之前,我们需要再来一篇多聊一聊:到底什么是业务?

https://static001.geekbang.org/infoq/5f/5f5a8fcbcde9c4eaa3dd613d93058f2a.jpeg?x-oss-process=image/resize,w_416,h_234

8x Flow 业务建模法(一):你能分清业务和领域吗?

用户头像
胡皓4 月 2 日

最近两年,以“事件风暴(Event Storming)”为代表的“领域驱动设计(Domain Driven Design,以下简称DDD)”分析建模方法红遍大江南北。伴随着按照DDD思想指导微服务拆分的流行,“搞微服务必用DDD,用DDD必做事件风暴,写代码必用六边形架构”的做法已几乎

https://static001.geekbang.org/infoq/61/619c78e44c783cf1fa898accea5ef457.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101 - 绑定模型与实现

用户头像
luojiahu3 月 27 日

模型驱动设计要求,不再将模型分析与程序设计进行分离,而是作为整体看待,模型分析的成果,既要如实反映业务领域的实际问题,也要便于程序设计落地。

https://static001.geekbang.org/infoq/91/91e2e0b256e813cfd0aa2c5e24af29a5.jpeg?x-oss-process=image/resize,w_416,h_234

领域驱动设计 101 - 通用语言

用户头像
luojiahu3 月 21 日

在前面的讨论中提到,领域驱动设计强调在软件设计过程中构建出完善的业务模型,而业务模型可以看做是浓缩的、结构化的业务领域知识。

https://static001.geekbang.org/infoq/31/314e216baa20673c47ed6804b6f4fe7c.jpeg?x-oss-process=image/resize,w_416,h_234

领域的边界,一个小讨论

用户头像
李小腾2 月 1 日

领域划分到底有没有用?

https://static001.geekbang.org/infoq/ee/eee507c293f6f61c040ac33a1f35eb95.jpeg?x-oss-process=image/resize,w_416,h_234

浅析整洁架构之道 (三) 明析分层原则

用户头像
御剑1 月 26 日

本篇文章接上篇文章,我们继续论述The Clean Architecture整洁架构的分层原则

理解领域驱动设计

用户头像
云流1 月 23 日

什么是领域,我习惯描述的是制药领域、环境领域、建筑领域、金融领域等,而在领域内,各种业务规则、业务知识盛行,如何有效的把控规则的变化,应对复杂知识,有一个很关键的四字词语,分而治之。分治法在很多场景下体现了其强大的作用力。领域本身很大,那就

一文解析 DDD 中台和微服务设计

用户头像
欧创新1 月 15 日

DDD、中台与微服务分别属于不同的方法体系,那它们的通用语言到底在哪里?如何用DDD完成中台和微服务设计实战?DDD在中台和微服务的整体设计流程是什么样的?如何用最小代价来适应因为业务变化,而带来的领域模型和微服务持续演进?希望你能在本文找到答案!

https://static001.geekbang.org/infoq/8e/8e541bd74a76ca50e08c0fcecbadb7db.png?x-oss-process=image/resize,w_416,h_234

盘点 2020 |协作,是另外一种常态

用户头像
Winfield2020 年 12 月 25 日

病毒使隔离成了常态,而协作,应该成为另一种常态,使我们能在与病毒的对抗中,感受彼此的温度,相拥前行。

https://static001.geekbang.org/infoq/1c/1cbf1e7fdbe5f38256b23df2e740ec41.jpeg?x-oss-process=image/resize,w_416,h_234

架构之书:雄伟与《Domain Driven Design》

用户头像
lidaobing2020 年 12 月 15 日

我在读《人月神话》的时候,记得里边有一个IBM工程师吃纸故事,似乎是一个飞机场的IT系统一直完不了工,工程师都快被逼疯了。估计这个工程师在这个项目上已经耗尽了自己的青春和精力。

领域驱动设计 (DDD) 实践之路 (四):领域驱动在微服务设计中的应用

用户头像
vivo互联网技术2020 年 12 月 15 日

这是“领域驱动设计实践之路”系列的第四篇文章,从单体架构的弊端引入微服务,结合领域驱动的概念介绍了如何做微服务划分、设计领域模型并展示了整体的微服务化的系统架构设计。

https://static001.geekbang.org/infoq/75/75d3d93fbe1c6daa00af1286fe248706.png?x-oss-process=image/resize,w_416,h_234

以理性不断的崇敬 - 对 DDD 之后复杂业务软件系统设计的思考

用户头像
Winfield2020 年 12 月 15 日

对DDD之后复杂业务软件系统设计方法与实践的思考与探索

DDD 中的模型

用户头像
zamkai2020 年 11 月 29 日

“模型”这个词语在DDD中反复出现,是DDD的核心概念。可是我们从Eric在他的著作(Domain-driven design)中,很难找到关于模型的清晰定义。为了帮助大家更好理解模型的含义,我想从模型同需求的关系、模型在DDD中的作用、模型的开发流程等方面阐述我对模型的认

用例与架构

用户头像
zamkai2020 年 11 月 29 日

需求描述了软件系统是什么,架构则提供了系统的低成本实现方案,回答了软件系统如何做的问题。架构依赖需求,需求驱动架构。

https://static001.geekbang.org/infoq/42/429aec0ff7e4719bf7910d7bfbf8d676.jpeg?x-oss-process=image/resize,w_416,h_234

Golang 领域模型 - 聚合根

用户头像
奔奔奔跑2020 年 9 月 19 日

聚合是要把实体、值对象等聚合起来完成完整的业务逻辑的一个存在。聚合根据上下文边界与业务单一职责、高内聚等原则,定义聚合内部应该包含哪些实体与值对象,这也是微服务为什么要用DDD的思想去划分的重要原因之一:天然的高内聚,低耦合。

https://static001.geekbang.org/infoq/66/663620a5fa7b348e8bb1a36f05eb969e.jpeg?x-oss-process=image/resize,w_416,h_234

面试官:谈一下你对 DDD 的理解?我:马什么梅?

用户头像
艾小仙2020 年 9 月 18 日

领域模型(domain model)是对领域内的概念类或现实世界中对象的可视化表示。领域模型也称为概念模型、领域对象模型和分析对象模型。

领域模型的定义

用户头像
Braisdom2020 年 9 月 18 日

在应用系统中,“领域模型”是一个封装了数据(也可以称为“状态“)和逻辑的抽象概念(可以是一个Class,也可以是一个Interface)。在面向对象设计中有一个重要的概念:”尽可能使设计和代码符合相关领域中的概念、逻辑、以及关系“,也就是说“领域模型”的定

https://static001.geekbang.org/infoq/73/73637d8dfbf96f2635a1108628de1d2c.jpeg?x-oss-process=image/resize,w_416,h_234

Golang 领域模型 - 依赖倒置

用户头像
奔奔奔跑2020 年 9 月 18 日

毫不夸张的说,不理解《依赖倒置》的程序员只能写功能,没法写出框架来!

DDD+ 微服务实战:什么是 DDD?

用户头像
AI代笔2020 年 9 月 17 日

DDD是领域驱动设计,是Eric Evans于2003年提出的,离现在有17年。

https://static001.geekbang.org/infoq/c0/c0ae36752ed0aff2eaf48049d2e12b74.jpeg?x-oss-process=image/resize,w_416,h_234

Golang 领域模型 - 资源库

用户头像
奔奔奔跑2020 年 9 月 16 日

作为领域模型中最重要的环节之一的Repository,其通过对外暴露接口屏蔽了内部的复杂性,又有其隐式写时复制的巧妙代码设计,完美的将DDD中的Repository的概念与代码相结合!

https://static001.geekbang.org/infoq/4c/4c60465a909c0a4a541988283e0ef9ca.jpeg?x-oss-process=image/resize,w_416,h_234

Golang 领域模型 - 实体

用户头像
奔奔奔跑2020 年 9 月 13 日

前言: 实体具有业务属性、业务逻辑和业务行为,是是实实在在的业务对象。在事件风暴中,我们可以根据命令、操作与事件将业务上紧密结合在一起的多个实体与值对象进行聚合形成聚合根。

https://static001.geekbang.org/infoq/42/429aec0ff7e4719bf7910d7bfbf8d676.jpeg?x-oss-process=image/resize,w_416,h_234

Golang 领域模型 - 六边形架构

用户头像
奔奔奔跑2020 年 8 月 23 日

前言:六边形架构又称“端口适配器架构”,实际上也是一种分层架构,只不过由上下或者左右变成了内部与外部。其核心理念就是应用通过端口与外部进行交互的。核心的业务逻辑(领域模型)与外部资源(数据库等资源)完全隔离,仅通过适配器进行交互,解决了业务

领域驱动设计_领域驱动设计资料文章-InfoQ写作平台