写点什么

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

  • 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:143201

评论

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

财务共享经验分享!权威教授解读企业走向财务数智化的关键路径

用友BIP

财务共享

靠AI自动生成视频撸自媒体收益,月入5000+

派大星

ChatGPT4

自动驾驶研发解决方案,百度智能云市场份额第一!

Baidu AICLOUD

自动驾驶 AI 大底座

2023上海国际嵌入式展 | 如何通过生命周期管理工具创建完整、可追溯的嵌入式开发

龙智—DevSecOps解决方案

嵌入式系统 嵌入式开发 上海国际嵌入式展

极氪汽车 APP 系统云原生架构转型实践

阿里巴巴云原生

阿里云 云原生 合作

全球化财务如何通过全球核算助力跨国业务的稳定增长和持续发展?

用友BIP

中企出海 全球化财务

财务共享案例分享!大型企业财务先锋交流财务数智化转型的关键举措

用友BIP

财务共享

合合信息商业大数据技术为农商行打造数字化转型专项方案

合合技术团队

数据挖掘 大数据 金融

企业号 6 月 PK 榜,火热开启!

InfoQ写作社区官方

热门活动 企业号 6 月 PK 榜

探索 Web 管理之路,OpenYurt 社区 UI/CLI SIG 正式启动

阿里巴巴云原生

阿里云 开源 云原生 openyurt

人脸识别图像技术的原理及其应用

数据堂

对线面试官-线程池(一)

派大星

面试

独立游戏开发:掌握成功的五大关键技巧

龙智—DevSecOps解决方案

游戏开发 独立游戏 独立游戏开发

公用事业财务共享如何建,看南京水务立标杆

用友BIP

财务共享

数据可视化:地图类可视化图表大全

2D3D前端可视化开发

大数据 数据分析 数字化转型 数据可视化 数据可视化工具

欧伟杰:乘“20+8”政策之东风,促进深圳空间数据向好发展

YashanDB

数据库

低代码+MOM:释放制造业数字化魅力

力软低代码开发平台

Server版支持即将到期,Jira和Confluence如何迁移?(2)

龙智—DevSecOps解决方案

云原生 迁移 云 原生云 CTO 迁移上云 迁移计划

是 CI 也是阿拉伯飞毯——腾讯云 CODING CI 3.0 云原生构建

CODING DevOps

云原生 持续集成 CODING DevOps

“源生无限,同行致远”,加速迈向智能世界

说山水

OIDC & OAuth2.0 认证协议最佳实践系列 02 - 授权码模式(Authorization Code)接入 Authing

Authing

低代码 OAuth 2.0 OIDC Authing

玩转服务器之网站篇:新手使用WordPress搭建博客和静态网站部署

京东科技开发者

Wordpress 部署 服务器 WordPress 企业号 5 月 PK 榜 静态网站部署

伊利与腾讯云 CODING 的「水乳交融」启示录

CODING DevOps

DevOps 最佳实践 数字化转型 CODING

全面预算管理可以从科技发展中得到什么?

智达方通

全面预算管理 信息孤岛

国内一流地方金融控股集团-长投控股怎样建设财务共享平台?

用友BIP

财务共享

神笔马良看了都鼓掌

百度Geek说

人工智能 AIGC 企业号 5 月 PK 榜

为什么数字化转型就应该选择低代码?一文详解

加入高科技仿生人

低代码 数字化转型

MaxCompute 物化视图智能推荐最佳实践

阿里云大数据AI技术

大数据 算力加速 智能推荐 企业号 5 月 PK 榜

理论+实操|一文掌握 RFM 模型在客户数据洞察平台内的落地实战

袋鼠云数栈

大数据 RFM模型 标签体系 RFM

生态共建丨YashanDB与金蝶软件完成兼容互认证

YashanDB

数据库

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