關於將Jdon框架提升為DCI框架的設想

banq發表於2011-09-13
在]Jdon框架 6.4案例中(這裡),我使用Domain Events實現了一種DCI,Domain Events和DCI是兩種不同角度看同一個問題,而DCI是從軟體分析如彩色UML四色原型直接對映過來的,因此讓開發者直接和DCI打交道,能夠減少不必要的轉換翻譯失真。

那麼我的設想是將Domain Events作為DCI底層機制,層層封裝,Dirsruptor--->Domain Events ---> DCI,DCI是最高階別的層次。

另外也看到Ruby領域正在構想DCI模式或框架,他們遇到一些關於場景的問題,文章:DCI patterns - how to write DCI contexts in Ruby

應用物件是否應該知道場景?
Should the application object (a model) know about the contexts?
有三個選擇:
1. 應用物件可以訪問所有可能場景,MVC的控制器只要這樣呼叫: application.register_new_user(..) ,是應用進行場景初始化。

2.應用有能力知道全域性性場景: NewUserContext.new(..).

3.控制器消失(正如Rails, banq注:JdonFramework也是), 控制器和場景的匹配是在一個配置檔案中。

該文最後說:到目前為止,所有的Ruby 的DCI的例子似乎有點冗長。這是因為DCI並不能直接翻譯到如Ruby這樣的​​動態語言。

現在,我們在jdonFramework中使用“事件”翻譯DCI到Java中,這個路子雖然有點繞,但是隻要把其封裝起來,讓開發者直接面對DCI,也許是一條辦法。

下面的問題是如該文提出的三個選擇,我個人比較傾向於消滅MVC,見:MVC已死。用DCI場景替代MVC的控制器,用REST URL替代控制器與頁面互動,這樣消滅了控制器,就是消滅了MVC。

因為@oojdon 已經開發了一個開源框架JdonMVC, 我注意到其中有@Context標註,所以,也許我們在JdonMVC的REST上加工一下, 消滅MVC的DCI框架就可能探囊可取了。

有興趣者可討論一下可能性。













[該貼被banq於2011-09-13 12:17修改過]

[該貼被banq於2011-09-13 12:19修改過]

[該貼被banq於2011-09-13 12:20修改過]

[該貼被banq於2011-09-13 12:27修改過]

相關文章