数据、场景和交互

数据、场景和交互（，简称DCI）是一种在计算机软件中使用的范例，用于实现内部存在相互通信的对象的系统。它的目标是：
 通过给予系统行为一等公民的地位来提升面向对象的代码的可读性；
 干净地分离高频变化的系统行为（描述系统做什么）和低频变化的领域知识（描述系统是什么），而非将两者混合在一个类接口中；
 帮助软件开发人员理解系统级状态和行为，而非仅有对象状态和行为；
 支持基于对象而非基于类的思维方式，前者更接近于人类心智模型，而后者，在面向对象编程语言中常导致过早地屏蔽了基于对象的思考。
这种范例中，我们把领域模型（data）和用例（context）和对象扮演的角色（interaction）分离开来。DCI 是 MVC 的一种补充。MVC 作为一种范式语言继续用于分离数据和对数据的处理和对数据的展现。
DCI 由同是 MVC 发明者的 Trygve Reenskaug 发明。而最近的 DCI 的规划构想主要来自 Reenskaug 和 James O. Coplien 的工作。

软件设计模式
软件架构