QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

当 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:006040

评论

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

鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

HarmonyOS开发者

HarmonyOS HarmonyOS NEXT

探秘低代码,JNPF悄然助力

伤感汤姆布利柏

“越用越上瘾”,中华财险 60% 研发人员用通义灵码提效

阿里云云效

阿里云 云原生 通义灵码

苹果鼠标有望加入 AI 语音控制功能;Accent Oracl :准确识别你口音的 AI 丨 RTE 开发者日报

声网

华为云Flexus云服务器X实例之openEuler系统下部署WordPress网站

YG科技

拿了一个奖:年度高价值技术团队

阿里巴巴云原生

阿里云 云原生

通义灵码入选南方日报 2024 数字化年度标杆

阿里巴巴云原生

阿里云 云原生 通义灵码

华为云Flexus X实例docker部署ERPnext构建属于自己的企业资源规划系统

YG科技

华为Flexus云服务器快速上手实例安装“运维搭子“

YG科技

云服务器Flexus X实例|Ubuntu+docker部署.NET项目

YG科技

使用Flexus云服务器X实例部署Kubernetes图形化管理平台

YG科技

华为Flexus云服务器X实例实测-零信任访问方案Next Terminal

YG科技

开源技术与工业互联网产业实践:究竟会碰撞出怎样的火花?

快乐非自愿限量之名

开源 物联网

基于Flexus云服务器X实例的应用场景-拥有一款自己的ssl监控工具

YG科技

“越用越上瘾”,中华财险 60% 研发人员用通义灵码提效

阿里巴巴云原生

阿里云 云原生 通义灵码

工欲善其事必先利其器:华为云Flexus X实例 一键部署宝塔面板

YG科技

2025加密风云:行业变革与未来趋势全景透视

chainwiseweb3

加密货币 crypto dapp开发 区块链开发DAPP开发 链游开发公链开发

华为云Flexus云服务器X实例部署Trilium Notes知识库工具

YG科技

华为云Flexus X实例docker部署Rocket.Chat构建属于自己的团队通讯协作平台

YG科技

拿了一个奖:年度高价值技术团队

阿里云云效

阿里云 云原生 通义灵码

风起云涌,跌宕起伏:盘点 2024 年以太坊变迁与历程

TechubNews

华为云Flexus X实例评测使用体验——Anaconda环境安装

YG科技

FORCE 大会开发者论坛演讲实录|吴一帆:边缘智能在 Agent 上的探索与实践

火山引擎边缘云

智能IoT边缘服务 AI 大底座 大模型、 边缘智能

docker 部署kafka及ui搭建

YG科技

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

阿里云云效

阿里云 云原生 通义灵码

华为云Flexus X实例:一键助力中小企业,快速部署个性化网站!

YG科技

华为云Flexus云服务器X实例之openEuler系统下部署emlog轻量级博客平台

YG科技

深入解析华为云X实例保障云上业务安全的关键策略

YG科技

通义灵码入选南方日报 2024 数字化年度标杆

阿里云云效

阿里云 云原生 通义灵码

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

阿里巴巴云原生

阿里云 云原生 通义灵码

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