中国韩国日本在线观看免费,A级尤物一区,日韩精品一二三区无码,欧美日韩少妇色

Thinking In Jdon

發(fā)布時(shí)間:2016-05-23 18:05

  本文關(guān)鍵詞:MVC,由筆耕文化傳播整理發(fā)布。


MVC模式:Model模型 View試圖 Control控制器,,是目前主流模式,被當(dāng)作服務(wù)器軟件入門基本模式學(xué)習(xí)和掌握,主流框架Struts 1/2 JSF Wicket基本都順理成章支持MVC模式。

但是,隨著時(shí)間推移,MVC模式也暴露出大量缺點(diǎn),因?yàn)镸VC模式本質(zhì)上是一個(gè)結(jié)構(gòu)型模式,結(jié)構(gòu)模式相比行為模式而言,實(shí)際就是靜止的,相對(duì)固定的,而隨著B/S和互聯(lián)網(wǎng)應(yīng)用不斷普及,Web 2.0和社會(huì)化媒體 以及游戲等大量頻繁交互應(yīng)用普及,相對(duì)靜止的MVC模式已經(jīng)不適合高度交互注重行為的應(yīng)用了。

DDD領(lǐng)域建模本身比較重視結(jié)構(gòu),它的實(shí)體 值對(duì)象和服務(wù)器是也是一種結(jié)構(gòu)劃分,但是沒有強(qiáng)調(diào)對(duì)象職責(zé)行為的重要性,而這是對(duì)象和數(shù)據(jù)庫(kù)唯一的區(qū)別,當(dāng)然其上下文場(chǎng)景概念的提出,也可以認(rèn)為體現(xiàn)了對(duì)角色和場(chǎng)景的重視,但遠(yuǎn)遠(yuǎn)不夠。

相反,對(duì)象設(shè)計(jì):角色、責(zé)任和協(xié)作"(Object Design: Roles, Responsibilities, and Collaborations))一書提出職責(zé)驅(qū)動(dòng)開發(fā),將對(duì)象行為上升為重點(diǎn),提出了對(duì)象其實(shí)是在扮演某種角色,而角色是有職責(zé)的,然后會(huì)在一定場(chǎng)景上下文環(huán)境中實(shí)施一定交互行為,這些已經(jīng)在Jdon進(jìn)行了充分討論:
DCI,領(lǐng)域模型,領(lǐng)域事件的一些想法
異步架構(gòu)思維:使用Akka實(shí)現(xiàn)領(lǐng)域建模

該書總結(jié)了集中式控制器4大缺點(diǎn),MVC的控制器實(shí)際就屬于這種集中式控制器風(fēng)格:

1.Control logic can get overly complex. 控制器會(huì)變得復(fù)雜,很多人在Struts的Action控制器中寫業(yè)務(wù)代碼已經(jīng)變得很常見,所有的操作都在action中,有的action都幾乎上千行了.

2.Controllers can become dependent on information holders' contents.控制器變得依賴信息數(shù)據(jù)中心或數(shù)據(jù)庫(kù)了,控制器做很多事情,意味著領(lǐng)域?qū)ο缶妥龊苌偈虑椋刂破髯詈蟛皇侵粫?huì)做什么,決定戰(zhàn)略性的事情,也和怎么做,如何實(shí)現(xiàn)等戰(zhàn)術(shù)問題耦合。

3.Objects can become coupled indirectly through the actions of their controller. 對(duì)象將間接地通過控制器的action耦合在一起,一個(gè)對(duì)象在控制器中查詢獲得,然后復(fù)制給另外一個(gè)對(duì)象,這兩個(gè)對(duì)象就耦合在一起。

4.The only interesting work is done in the controller.唯一有趣的工作是做控制器,Responsibilities職責(zé)被吸進(jìn)控制器對(duì)象,只將一些行為留給角色模型完成,重要的事情都集中在控制器中了。

MVC的控制器是Mediator模式一種,也屬于一種集中式控制器,它與觀察者模式重大區(qū)別是:Mediator模式封裝了通訊,而Observer分散通訊,從通訊角度來看,控制器也有其固有的缺陷,容易變成大而全高度耦合的集中器,這些都是為OO所不容。

DCI架構(gòu)是最近才興起的新概念,它從一個(gè)全新角度來看待軟件,與職責(zé)驅(qū)動(dòng)設(shè)計(jì)不謀而合,同時(shí)也是對(duì)DDD的發(fā)展和完善。

DCI是數(shù)據(jù)Data 場(chǎng)景Context 交互Interactions的簡(jiǎn)稱,它重要貢獻(xiàn)是提出了場(chǎng)景這個(gè)概念,而這點(diǎn)是職責(zé)驅(qū)動(dòng)開發(fā)一書沒有提及,該書只是否定了MVC,揭露其問題,沒有提出替代方案,而DCI正是MVC的替代架構(gòu),DCI替代MVC 用場(chǎng)景替代控制器應(yīng)該是大勢(shì)所趨,如下圖(圖來自原文英文The DCI Architecture: A New Vision of Object-Oriented Programming):

Thinking In Jdon


場(chǎng)景其實(shí)將MVC中Control和模型中一部分挖了出來,以角色場(chǎng)景方式進(jìn)行重新組合。這是一種與MVC模式考慮角度完全不一樣的新角度,這種角度更符合OO。

最近,有人提出 場(chǎng)景Context是新的對(duì)象類型,場(chǎng)景不但可以替代SOA的Web服務(wù),也可以替代MVC的控制器。

個(gè)人認(rèn)為:未來新的分層架構(gòu)可能變成這樣:
View --> Context ---> Domain Model ---> Component/Respository

MVC模式已死。

[該貼被admin于2010-04-09 14:22修改過]


  本文關(guān)鍵詞:MVC,由筆耕文化傳播整理發(fā)布。



本文編號(hào):48819

資料下載
論文發(fā)表

本文鏈接:http://www.lk138.cn/kejilunwen/jisuanjikexuelunwen/48819.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶9d299***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com