淺談我眼中的ASP.NET MVC


      坦白地說,學習MVC是前一段時間的事情了。但是,我當時雖然也實踐過,卻也不能很好的說出個所以然來。因此,也 一直沒敢寫點什么文字總結。最近,開始學習EF,也同時在使用MVC來結合EF實踐增刪改查。慢慢地也似乎可以說一點什么,現在也姑且先寫下來,好與不好,比喻對或不對,也是成長的記錄了。

第一點:什么是ASP.NET MVC?

          ASP.NET是一個開發框架,用於通過HTML、CSS、JavaScript以及服務器腳本來構建網頁和網站的。

      ASP.NET支持三種開發模式:Web Pages、MVC、Web Forms。

      簡言之,MVC是ASP.NET開發框架下所支持的一種開發模型。

第二點:MVC如何定義Web應用程序?

      MVC模型通過三個邏輯層來定義Web應用程序:

                Business layer(業務層、模型邏輯)

                Display layer(顯示層、視圖邏輯)

                Input control(輸入控件、控制器邏輯)

這就類似於我們在學校的時候學習到的三層架構的樣子。

第三點:MVC之所以叫MVC?

QQ圖片20150830134249

     上圖是VS2013建立的一個MVC項目。從中我們可以看到三個文件夾,分別為Controllers、Models、Views。

這三個文件夾,也是我今天主要和大家一起談的東西。

     我想大家都不難看出,MVC之所以叫MVC是來源於這三個文件夾的。

     M:Models(模型),V:Views(視圖),C:Controllers(控制器)。

    

Model:模型,可能說成是實體類,更容易讓大家理解。但是它又不同於我們在校所學的普通三層的實體類,它在應用程序中也將處理

         程序數據邏輯部分的東西。

         換句話說,模型對象將會在數據庫中進行存取數據的操作 。這也就對應了 Business layer(業務層)。

        用一個數學表達式:

                                Model=(普通三層架構的)實體類+(普通三層架構的)DAL+(普通三層架構的)BLL;

        (補充:實際操作中,為了使Model中的代碼更為清晰等原因,我們仍舊會在項目中增加一個DAL。當然,這里我們不做討論)

View:視圖,顧名思義,它是一個可見的視覺圖像。它是應用程序中處理數據顯示的部分。

        如果簡單的表述,我認為它就是程序反饋給大家的一個HTML頁面,就是前台所展示的看得見東西,稱之為視圖。

        它對應的是Display layer(顯示層),那么它Dispalay些什么呢?

        其實,View主要是將Model層所得到的數據展示給用戶。顯示用戶界面組件。

Controller:控制器 。其是應用程序中處理用戶交互部分。通常控制器從視圖中讀取數據、控制用戶輸入,並向模型發送數據。

        也就是說,Controller像一個橋梁連接着Model和View。更或者在我看來,它就像一個跑腿的信使,做這么一個傳遞的

        角色。

         它所對應的是Input control(輸入控件)。

第四點:MVC是如何開展工作的?

            在第三點中,我多多少少也講了一些MVC它們之間主要的工作協作。這里我們來看一張圖,可能會更加直觀的明白。

QQ圖片20150830145251

與數據庫進行直接交互的是Model.

USER能夠看得見的是View.

Model與View直接並不能直接聯系,而是通過Controller進行交流。

然而USER進行的任何操作,也都在通過Controller來處理交互,最終將Model所存取的數據,通過View展示,

最終出現在USER面前。

 

本文,先將MVC分享至此。有興趣的同學可以針對MVC學習一下MVC的另一大重點:路由表。

 


 

        

 

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM