DCI架構

DCI架構

DCI是數據Data 場景Context 互動Interactions的簡稱,DCI是一種特別關注行為的模式(可以對應GoF行為模式)

簡介
MVC模式:Model模型 View視圖Control控制器,是目前主流模式,被當作伺服器軟體入門基本模式學習和掌握,主流框架Struts 1/2 JSF Wicket基本都順理成章支持MVC模式。但是,隨著時間推移,MVC模式也暴露出大量缺點,因為MVC模式本質上是一個結構型模式,結構模式相比行為模式而言,實際就是靜止的,相對固定的,而隨著B/S和網際網路套用不斷普及,Web 2.0和社會化媒體 以及遊戲等大量頻繁互動套用普及,相對靜止的MVC模式已經不適合高度互動注重行為的套用了。
MVC的控制器是Mediator模式一種,也屬於一種集中式控制器,它與觀察者模式重大區別是:Mediator模式封裝了通訊,而Observer分散通訊,從通訊角度來看,控制器也有其固有的缺陷,容易變成大而全高度耦合的集中器,這些都是為OO所不容。
DDD領域建模本身比較重視結構,它的實體 值對象和伺服器是也是一種結構劃分,但是沒有強調對象職責行為的重要性,而這是對象和資料庫唯一的區別,當然其上下文場景概念的提出,也可以認為體現了對角色和場景的重視,但遠遠不夠。DCI架構是最近才興起的新概念,它從一個全新角度來看待軟體,與職責驅動設計不謀而合,同時也是對DDD的發展和完善
DCI架構
DCI是數據Data 場景Context 互動Interactions的簡稱,它重要貢獻是提出了場景這個概念,而DCI正是MVC的替代架構,DCI替代MVC 用場景替代控制器應該是大勢所趨。
場景其實將MVC中Control和模型中一部分挖了出來,以角色場景方式進行重新組合。這是一種與MVC模式考慮角度完全不一樣的新角度,這種角度更符合OO
最近,有人提出場景Context是新的對象類型,場景不但可以替代SOA的Web服務,也可以替代MVC的控制器。
這樣,DCI架構真正含義可以歸結如下:
1.數據data:是領域對象中代表領域類概念的那部分。
2.場景context:根據運行時即時調用,將活的對象實例帶到符合用例需求的場景中
3.互動interactions, 描述需求用戶心目中角色的活動算法。

相關詞條

熱門詞條

聯絡我們