写点什么

别把领域驱动开发给用错了

  • 2015-04-28
  • 本文字数:727 字

    阅读完需:约 2 分钟

通常,有很多的应用声称是用领域驱动开发(DDD)构建出来的,并且有一个领域模型,但是这个模型实际上却仅仅包含业务实体,甚至于分离数据和逻辑的数据传输对象和服务都混合在了一起,其中也分不清业务和基础设施逻辑, Gabriel Schenker 分享了从事咨询和软件架构以来的个人经验。在具有消息处理的应用中,很少用业务领域中名称来命名消息,反而采用了以_update_ 或_modify_ 结尾的这种统称。

Schenker 目前是一位首席软件架构师,他说这一点儿都不夸张,他本人就常常发现早期的新应用就是这么构建出来的。Schenker 认为,这一现象的主要原因就是由于缺乏知识。

Schenker 强调说,如果采用 DDD 开展工作可以参考 Eric Evan 的 DDD 专著,但其中的所有模式的重要程度并不是安全相同的,特别是要注意这本书中后面部分的 DDD 基础,有些已经得到了 Evans 的充分肯定。与这些策略模式形成鲜明的对比的是,上半部分中的战术模式重点关注于实现的细节。

Schenker 建议说,当使用 DDD 开始一个新项目时,首先应和领域专家对业务领域达成一致的理解,把讨论中的术语抽取出来,大家共同商定创建一个通用的词汇表,在 DDD 术语中这叫做统一语言。让领域专家识别彼此间分离的区域,把复杂的领域予以分解,从而创建子领域或有边界的上下文,嘿嘿,这又是另一个DDD 术语。

Schenker 还告诫说,不要以数据模型开始创建一个以数据为中心的世界。他坚信,孤立的数据什么都不是,数据若想有意义就离不开逻辑,而且还要注意上下文的变化,所以,上下文和逻辑应该是 DDD 的主要关注点。专注于数据还有另一个风险,数据库最终会用于集成,实际上这从另一方面增加了上下文间的依赖。Stefan Tilkov 也于近期建议避免采用通用的数据模型。

查看英文原文: Domain-Driven Design the Wrong Way

2015-04-28 07:142731

评论

发布
暂无评论
发现更多内容

墨芯人工智能加入龙蜥,携手打造软硬协同稀疏化计算平台

OpenAnolis小助手

人工智能 开源 龙蜥社区 CLA 墨芯

记一次因 GC bug 导致 TiKV 存储占用不均的问题处理

TiDB 社区干货传送门

管理与运维 故障排查/诊断

2022 年 TiDB 社区年度总结,2023年,我们一起兔飞猛进

TiDB 社区干货传送门

数据存储难?华为云对象存储服务OBS带你全方位解决

IT科技苏辞

数益工联 x TiDB丨如何运用 HTAP 挖掘工业数据价值?

TiDB 社区干货传送门

自建还是第三方?华为云对象存储服务OBS 成为企业更优选

IT科技苏辞

艺多不压身!华为云CDN成众多企业网络支撑

路过的憨憨

YMatrix 番外篇|透过镜头,那些不为人知的故事

YMatrix 超融合数据库

车联网 超融合数据库 C++ YMatrix 研发故事

怎样将数据从Oracle迁移到TiDB

TiDB 社区干货传送门

TiDB 同步数据到 Kafka 最佳实践

TiDB 社区干货传送门

中科院自动化所历时9年打造的类脑认知智能引擎“智脉”正式开源部署至OpenI启智社区

OpenI启智社区

类脑计算 OpenI启智社区 智脉 开源开放 中科院自动化所

年终有奖 | 三分钟,一起创造更好的 StarRocks!

StarRocks

使用 SQL 实现同比环比分析

搞大屏的小北

数据可视化 同比环比 展示同比环比 BI大屏同比环比

助力企业服务体验升级,华为云CDN这样做

路过的憨憨

为什么我们要从MySQL迁移到TiDB?

TiDB 社区干货传送门

神州数码正式加入CNCF云原生计算基金会,携手构建云原生技术生态

科技热闻

稳定可靠、安全可信的云存储-华为云OBS对象存储

IT科技苏辞

支撑20亿+用户变美,看华为云OBS对象存储服务与美图的合作

IT科技苏辞

等保四级适用于哪些领域?一年一次吗?

行云管家

等保 等级保护 等保四级

这个API管理工具不登录不下载就能用!

不想敲代码

API 接口管理 协同办公 协同软件

确保网路畅通,华为云CDN加速服务大有可为

路过的憨憨

Oracle 到 TiDB (OGG)

TiDB 社区干货传送门

面向对象分析与设计的底层逻辑

阿里技术

面向对象设计

华为云CDN下载加速,“火速”留住用户

科技说

ROMA Connect: 5大联接能力+4大集成能力,推进企业数字化转型

华为云开发者联盟

云计算 后端 数字化 华为云 12 月 PK 榜

NFTScan 与 Cwallet 团队达成战略合作伙伴,由 NFTScan 为其提供 NFT API 数据服务

NFT Research

NFT 数据基础设施

网络拥堵影响业绩?看华为云CDN如何为企业保驾护航

路过的憨憨

行云管家荣膺STIF第三届国际科创节 “2022年度数字化创新典范奖”

行云管家

信息安全 数字化 国际科创节

1024·致敬 | 迟到的小温暖,感谢不平凡的你们

XTransfer技术

TiDB 的“聚簇因子” -- 从 cop task 到 shard_row_id_bits

TiDB 社区干货传送门

性能测评 OLTP 场景实践

阿里IM技术分享(九):深度揭密RocketMQ在钉钉IM系统中的应用实践

JackJiang

RocketMQ 即时通讯 im开发 开源im 钉钉IM

别把领域驱动开发给用错了_架构_Jan Stenberg_InfoQ精选文章