隨筆 - 25  文章 - 32  trackbacks - 0
          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          同樣是架構級別的,它們有什么相同點和不同點呢?這篇文章討論一下它們的異同點。希望能幫助讀者理解其中的玄機。 :)

          其實它們相同的地方在于他們都有一個表現層。

          但是他們不同的地方在于其他的兩個層。

          首先先解釋一下MVC。V即View.是視圖的意思。C即Controler.是控制器的意思。而M即Model,是模型的意思。這三個里.最不容易理解的應該是Model.就是什么是Model,而為什么叫Model。我先不說為什么叫Model,先解釋Controler。

          Controller是控制器的意思,所謂控制器,就是將用戶請求轉發給模型層,經過處理后把結果返回到界面展現的一個中間層,那么Controler到底管什么工作呢?先不說.先來看下在Java Web中這三個層一般的定義,一般在Java Web里,JSP充當V,Servlet充當C,JavaBean充當M,這里的Servlet管什么工作呢?接受輸入,轉到Model層去處理,處理結果保存后轉發到JSP,然后展現數據。所以它的功能就是控制器的基本功能,它就管轉發,在V和M之間轉來轉去。

          再來說說M,即Model,在Java Web里說的是JavaBean,我認識的很多人都把JavaBean誤認為是實體類,其實JavaBean有比實體類更豐富的定義,在JavaBean中除了其屬性和字段,還可以有行為及其事件,JavaBean可以理解為普通Java對象。Java普通對象,就是符合Java規范的所有對象,這和實體類完全是兩回事。所以,我認為在MVC中。業務邏輯和數據訪問應該放在Model層,也就是V負責展示數據,Controler除了轉發不做業務邏輯。真正的邏輯事務,數據訪問,甚至算法都放到Model去。

          再說三層架構。三層其實很好理解,界面,業務,數據訪問,就這三個,從字面都可以理解出它們的意思。我要說的是它和MVC的區別。在三層架構中沒有定義Controler的概念。這是我認為最不同的地方。而MVC也沒有把業務的邏輯訪問看成兩個層,這是采用三層架構或MVC搭建程序最主要的區別。

          當然了。在三層中也提到了Model,但是三層架構中Model的概念與MVC中Model的概念是不一樣的,“三層”中典型的Model層是已實體類構成的,而MVC里,則是由業務邏輯與訪問數據組成的。不一樣的概念。雖然名字一樣。

          posted on 2008-07-01 20:30 phyeas 閱讀(11927) 評論(2)  編輯  收藏

          FeedBack:
          # re: MVC與三層架構的異同點 2011-05-17 14:51 re: 軟件工程國家標準文檔[下載]
          這個是我看過的比較易懂的講述。  回復  更多評論
            
          # re: MVC與三層架構的異同點 2012-11-01 19:53 body
          太謝謝你了 非常受益  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 潮安县| 桃园市| 白玉县| 衡阳县| 卫辉市| 鹿泉市| 修文县| 茶陵县| 宣汉县| 邢台县| 和平区| 体育| 顺昌县| 巴青县| 靖边县| 通渭县| 北海市| 宣城市| 土默特左旗| 涟水县| 清河县| 五指山市| 广饶县| 安泽县| 渝中区| 乌审旗| 红河县| 全椒县| 芒康县| 左权县| 封开县| 如皋市| 汝城县| 温泉县| 宿州市| 胶南市| 邓州市| 东莞市| 西林县| 万州区| 资兴市|