資料、場景和互動

資料、場景和互動Data, context and interaction,簡稱DCI)是一種在電腦軟體中使用的範例,用於實現內部存在相互通訊的對象的系統。它的目標是:

  • 通過給予系統行為一等公民的地位來提升物件導向的代碼的可讀性;
  • 乾淨地分離高頻變化的系統行為(描述系統做什麼)和低頻變化的領域知識(描述系統是什麼),而非將兩者混合在一個類介面中;
  • 幫助軟體開發人員理解系統級狀態和行為,而非僅有對象狀態和行為;
  • 支援基於對象而非類別為基的思維方式,前者更接近於人類心智模型,而後者,在物件導向程式設計語言中常導致過早地封鎖了基於對象的思考。

這種範例中,我們把領域模型(data)和用例(context)和對象扮演的角色(interaction)分離開來。DCI 是 MVC 的一種補充。MVC 作為一種範式語言繼續用於分離資料和對資料的處理和對資料的展現。 DCI 由同是 MVC 發明者的 Trygve Reenskaug 發明。而最近的 DCI 的規劃構想主要來自 Reenskaug 和 James O. Coplien 的工作。