AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

评论

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

windows使用docker运行mysql等工具(二)安装运行mysql

Java旅途

MySQL Docker

架构师训练营 第三周 学习总结

RZC

良心推荐 | LeetCode(力扣),算法、数据结构的学习良伴

YoungZY

算法

Zookeeper的数据剖析

tunsuy

zookeeper 日志分析 事务 快照 数据恢复

组合模式应用

yupi

第三周作业

晨光

第三周总结

晨光

rodert单排学习redis进阶【白银一】

JavaPub

Java nosql redis

Zookeeper通信协议详解

tunsuy

zookeeper TCP/IP 通信协议

架构师训练营第四周

Melo

产品失败了,产品经理要不要承担责任?

涛哥 数字产品和业务架构

产品经理

让你眼前一亮的 10 大 TS 项目

阿宝哥

Java typescript 开源 大前端 Web

架构师训练营第三周作业和小记

tuuezzy

架构师 极客大学架构师训练营

【非原创】微服务设计

Axe

一个汉字占几个字节你真的记住了吗?

Java旅途

架构师训练营 第三周 命题作业

RZC

架构师是怎样炼成的-3-2-设计模式

闷骚程序员

面向对象设计模式课程小结

梅子黄时雨

极客大学架构师训练营

[架构师训练营] Week01 -学习总结

谭方敏

第三周-设计模式-学习总结

吴建中

极客大学架构师训练营

极客大学架构师训练营 系统架构 第7课 听课总结

John(易筋)

极客时间 系统架构 高并发 极客大学 极客大学架构师训练营

组合设计模式编码&手写单例模式

吴建中

极客大学架构师训练营

第三周手写单例模式(饿汉模式)

吴建中

极客大学架构师训练营

太赞了!一份适合程序员的精选面试题清单。

JackTian

GitHub 开源 编程 程序员 面试

windows使用docker运行mysql等工具(一)windows安装docker

Java旅途

MySQL Docker

区块链改变数字营销与广告市场

CECBC

区块链技术 广告业 精准投放 去中介 公开透明

极客大学架构师训练营 框架开发 模式与重构 JUnit、Spring、Hive核心源码解析 第6课

John(易筋)

spring 极客时间 极客大学 极客大学架构师训练营 JUnit

Oracle SQL调优系列之看懂执行计划explain

Nicky.Ma

sql

手写单例模式

yupi

极客大学架构师训练营 框架开发 第三次作业

John(易筋)

极客时间 设计模式 极客大学 极客大学架构师训练营 框架开发

Zookeeper集群模式启动

tunsuy

zookeeper 源码分析 socket 分布式集群

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