HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

当 DDD 遇上 DCI(Data, Context, Interactive)架构模式

  • 2019-08-11
  • 本文字数:938 字

    阅读完需:约 3 分钟

当 DDD 遇上 DCI(Data, Context, Interactive)架构模式

ArchSummit深圳2019大会上,张晓龙讲师做了《当 DDD 遇上 DCI(Data, Context, Interactive)架构模式》主题演讲,主要内容如下。


演讲简介


DCI 是数据、场景、交互(Data、Context、Interactions)简称,重点是关注数据的不同场景的交互行为,是面向对象系统状态和行为的一种范式设计;DCI 在许多方面是许多过去范式的统一,多年来这些模式已经成为面向对象编程的辅助工具。


问题背景:电信软件的功能复杂特性交叉,对实时性和数据一致性的要求比较高,代码规模比较大,同时处理大量并发活动。


解决方案选型:1.领域建模+贫血模型;2.领域建模+充血模型;3.领域建模+DCI。


方案介绍:选择“领域建模+DCI”,将类和对象看成不同的事物。类作为一种模块化手段,遵循高内聚,低耦合,让软件易于应对变化;将类看做是领域对象拥有的职责或扮演的角色,对象作为一种领域对象的的直接映射,解决了过多的类带来的可理解性问题,让领域可以指导设计,设计真正反映领域。如果使用 C++ 语言来实现的话,可以通过多重继承的方式来完成职责 ROLE 的组合 ;如果使用 Go 语言来实现的话,可以通过依赖注入的方式完成职责 ROLE 的组合。


实施后效果说明:DCI 可以和 DDD 融合在一起,基于职责的组合式设计提高了代码的可理解性和应对变化的能力,而且对于开发人员来说 DCI 带来的收益比 DDD 更大。


演讲提纲


  1. DCI 架构模式

  2. Data,Context,Interaction

  3. 优缺点

  4. DCI 是 DDD 的补充

  5. 类与对象的关系

  6. DCI 与 DDD 的融合

  7. ROLE 的建模

  8. 数据依赖管理

  9. 领域模型各部分的可组合性

  10. 实践案例

  11. 案例介绍

  12. 物理设计

  13. 领域模型设计

  14. 代码实现要点

  15. 小结

  16. DCI 与 DDD 的融合

  17. 审视类与对象的关系

  18. DCI 落地的核心是 ROLE 的建模

  19. 对于开发人员来说 DCI 的收益比 DDD 更大


听众受益点


  1. 理解 DCI 架构模式

  2. 明白 DDD 和 DCI 的关系

  3. 清楚团队基于 DDD 落地 DCI 的方法


讲师介绍


张晓龙


中兴通讯 资深软件架构师


Gomonkey 和 Go 语言 trans-dsl 作者,具有十多年软件架构和开发经验,近年专注 PaaS 和 5G 等大型项目的设计和开发,精通微服务契约测试。爱读书,爱运动,爱编程,爱分享,对于大型软件的重构具有丰富的实战经验。曾指导多个团队积极实践 DDD,包括开发领域和测试领域,取得了比较好的效果。












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2019/shenzhen/schedule


2019-08-11 00:005823

评论

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

叮!2024 龙蜥操作系统大会议题征集正式启动

OpenAnolis小助手

AI 操作系统 龙蜥社区 龙蜥操作系统大会

需求缺陷管理工具推荐:如何选对?

爱吃小舅的鱼

缺陷管理 需求缺陷管理

蓝易云 - iftop工具详解网络流量监控利器

百度搜索:蓝易云

云计算 Linux 运维 云服务器 iftop

一文了解MySQL索引机制

京东零售技术

后端 MySQL 高可用 企业号2024年7月PK榜

蓝易云 - Linux中7种文件类型

百度搜索:蓝易云

云计算 Linux 运维 云服务器 高防服务器

JavaScript单行技巧:高效处理数据

南城FE

JavaScript 前端

Ableton Live 12 Suite v12.0.15中文版许可证及安装教程【mac/win】

理理

适用于macOS和Windows系统的视频下载器:MediaHuman YouTube Downloa

理理

官宣!2024观测云发布会

观测云

监控

音频格式转换器MediaHuman YouTube to MP3 Converter 中文注册版

理理

京东云原生安全产品重磅发布

京东科技开发者

蓝易云 - java解析xml的几种方式

百度搜索:蓝易云

Java 云计算 Linux 运维 云服务器

喜讯!云起无垠入选《嘶吼2024网络安全产业图谱》

云起无垠

低代码技术在售后管理中的应用与优化

天津汇柏科技有限公司

低代码开发

蓝易云 - laragon为php安装Xdebug扩展

百度搜索:蓝易云

php 云计算 Linux 云服务器 Laragon

视觉特效 Autodesk Flame 2025 mac版下载安装 flame2025破解补丁

理理

Flame 2025 Autodesk 电影特效制作

从C端到B端:我的前端技术进阶之路

京东零售技术

前端 企业号2024年7月PK榜

仓颉编程语言技术指南:嵌套函数、Lambda 表达式、闭包

华为云开发者联盟

鸿蒙 编程语言 华为云开发者联盟 企业号2024年7月PK榜 仓颉

蓝易云 - 免费云服务器主机永久使用

百度搜索:蓝易云

云计算 云主机 云服务器 服务器租用 高防服务器

IBM 发布 2024 年第二季度业绩报告:软件业务持续引领增长,全年现金流预期上调

财见

欢迎提报!2024 龙蜥社区年中三大奖项评选来了

OpenAnolis小助手

开源 操作系统 龙蜥社区

如何选择人力资源管理软件?2024年顶级10款评测

爱吃小舅的鱼

研发团队 人力资源管理 人力资源管理系统

观测云产品更新 | 异常追踪、场景图表、快照、监控等

观测云

监控

从积木式到装配式云原生安全

京东科技开发者

LLM推理加速:decode阶段的Attention在GPU上的优化

阿里技术

阿里巴巴 推理 大模型 LLM RTP-LLM

随着5G技术加速亚太地区的数字化转型,其移动经济预计到2030年将增至1万亿美元

财见

全能数据分析工具:Tableau Desktop 2019 for Mac 中文激活版

你的猪会飞吗

mac软件下载 mac破解软件下载

实时数仓Hologres TPC-H及点查性能开箱测试

阿里云大数据AI技术

实时数仓 OLAP hologres

VMware Cloud Foundation 5.2 发布下载,新增功能概览

sysin

vSphere vcenter esxi vcf

Milvus 向量数据库进阶系列丨部署形态选型

Zilliz

人工智能 Milvus Zilliz 向量数据库 rag

文献解读-群体测序-第二十三期|《一项前瞻性队列研究中膀胱癌的驱动和乘客DNA甲基化非侵入诊断和监测》

INSVAST

基因测序 基因数据分析 生信服务

当 DDD 遇上 DCI(Data, Context, Interactive)架构模式_ArchSummit_张晓龙_InfoQ精选文章