一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【MVC】

 huiyu 2018-09-20

前言

      最近小編在做的項目中接觸了MVC三層架構(gòu),之前也有一個(UI-BLL-DAL)三層架構(gòu),都說一山不能容二虎,二者之間有什么區(qū)別和聯(lián)系呢?讓我們來一起來揭開這所謂的‘三層’架構(gòu)的神秘面紗吧。

正文

1.  三層架構(gòu)

        我們所普遍了解的三層架構(gòu)(3-tier application)是將整個業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即是為了“高內(nèi)聚、低耦合”的思想。 (內(nèi)聚:一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度;耦合:一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。)

        表現(xiàn)層(User Interface):展現(xiàn)給用戶的界面,也就是用戶在使用一個系統(tǒng)時的所見所得。

        業(yè)務(wù)邏輯層(Bussiness Logic Layer):負(fù)責(zé)關(guān)鍵業(yè)務(wù)的處理和數(shù)據(jù)傳遞

        數(shù)據(jù)訪問層(Data Access Layer):實現(xiàn)數(shù)據(jù)訪問,提供對數(shù)據(jù)庫的增添、刪除、修改、更新、查找等操作。

        

        使用三層結(jié)構(gòu)主要是使項目結(jié)構(gòu)更清楚、分工更明確,有利于后期的維護和升級,當(dāng)數(shù)據(jù)庫或用戶界面發(fā)生改變時,不需要重新開發(fā),只需要做簡單的調(diào)整即可。

2. MVC

         MVC(Model-View-Controller,模型-視圖-控制器模式),將應(yīng)用程序分為三個主要組件:視圖(View)、控制器(Controller)、模型(Model),它有兩種理解,一種是表現(xiàn)模式、一種是架構(gòu)模式。

      Model層:代表了應(yīng)用程序的數(shù)據(jù),就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)模型的設(shè)計可以說是MVC最主要的核心。

      View層:代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,jsp頁面。

      Controller層:處理用戶與軟件的交互操作的,控制提供模型中的任何變化的傳播,確保用戶界面與模型間的對應(yīng)聯(lián)系,將模型和試圖匹配在一起,共同完成用戶的請求。


   MVC最重要的一個特點是多個試圖能共享一個模型,當(dāng)需求多變,用越來越多的方式來訪問應(yīng)用程序的時候,用mvc就可以解決,并且將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開,易于單元測試,可以最大化地重用代碼。

3.三層架構(gòu)和MVC的區(qū)別與聯(lián)系

      概念不同:

          MVC是一種模式(觀察者、策略、組合模式)),根據(jù)項目的具體需求來決定是否適用于該項目;三層架構(gòu)是一種架構(gòu),可適用于任何一個項目。

          三層架構(gòu)中沒有定義Conroller,MVC也沒有把業(yè)務(wù)的邏輯訪問看成兩個層。

          三層架構(gòu)中的Model的概念和MVC中的Model概念不一樣,三層架構(gòu)中的Model是以實體類構(gòu)成的,MVC中的Model是由業(yè)務(wù)邏輯與訪問數(shù)據(jù)組成的。

      目的不同:

          MVC是基于頁面來分的,為了實現(xiàn)Web系統(tǒng)的職能分工,主要用于表現(xiàn)層;三層是基于業(yè)務(wù)邏輯來分的,為了解耦,主要用于體系結(jié)構(gòu)。

      層次不同:

          MVC是橫向分層,各部分之間是相互協(xié)作關(guān)系,不存在上下關(guān)系;三層架構(gòu)是縱向分層,典型的上下關(guān)系,上層依賴下層。

          MVC中的Model、View、Controller,這三個加起來才是三層架構(gòu)中的UI層,而Controller直接與三層中的BLL進行對話。

      相同點:

            它們都有一個表示層。

            MVC表現(xiàn)層模式:(ASP.NET MVC是微軟官方提供的MVC模式編寫的ASP.NET WEB應(yīng)用程序的一個框架)

            

總結(jié)

         MVC是一種模式,三層是一種架構(gòu),MVC和三層、模式和架構(gòu)的區(qū)別你Get到了嗎?   

          

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    福利在线午夜绝顶三级| 国产成人人人97超碰熟女| 国产精品刮毛视频不卡| 在线观看欧美视频一区| 久久99热成人网不卡| 欧美激情中文字幕综合八区| 国产丝袜极品黑色高跟鞋| 精品少妇一区二区三区四区| 国产免费无遮挡精品视频| 亚洲成人精品免费在线观看| 日韩一级一片内射视频4k| 久久福利视频在线观看| 亚洲熟女诱惑一区二区| 国产成人亚洲精品青草天美 | 亚洲欧美日韩网友自拍| 亚洲中文字幕在线观看黑人| 中文字幕无线码一区欧美| 亚洲美女国产精品久久| 欧美三级精品在线观看| 亚洲一区二区三区三州| 激情少妇一区二区三区| 国产又粗又猛又长又黄视频| 欧美国产亚洲一区二区三区| 国产又粗又长又大的视频| 好吊日视频这里都是精品| 精品人妻少妇二区三区| 国产大屁股喷水在线观看视频| 国内精品一区二区欧美| 午夜精品在线观看视频午夜| 国产熟女一区二区不卡| 欧美激情一区=区三区| 色哟哟国产精品免费视频| 成人午夜激情免费在线| 欧美成人高清在线播放| 欧美多人疯狂性战派对| 亚洲成人精品免费在线观看| 日韩性生活片免费观看| 在线观看免费午夜福利| 亚洲一区二区精品免费| 国产精品一区二区三区日韩av| 国内胖女人做爰视频有没有|