内容介绍

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

问题背景:

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

解决方案选型:

1. 领域建模+贫血模型;

2. 领域建模+充血模型;

3. 领域建模+DCI。

方案介绍:

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

实施后效果说明:

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

内容大纲:

1、DCI 架构模式

  • Data,Context,Interaction
  • 优缺点

2、DCI 是 DDD 的补充

  • 类与对象的关系
  • DCI 与 DDD 的融合
  • ROLE 的建模
  • 数据依赖管理
  • 领域模型各部分的可组合性

3、实践案例

  • 案例介绍
  • 物理设计
  • 领域模型设计
  • 代码实现要点

4、小结

  • DCI 与 DDD 的融合
  • 审视类与对象的关系
  • DCI 落地的核心是 ROLE 的建模
  • 对于开发人员来说 DCI 的收益比 DDD 更大

听众受益:

1、理解 DCI 架构模式

2、明白 DDD 和 DCI 的关系

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

评论 (1 条评论)

发布
用户头像
ppt可以分享吗?
2020 年 04 月 26 日 12:58
回复
没有更多评论了