ASP.NET 之 MVC框架及搭建教程(推薦)
一、MVC簡介
MVC:Model-View-Controller(模型-視圖-控制器),MVC是一種軟件開發(fā)架構模式。
1、模型(Model)
模型對象是實現(xiàn)應用程序數(shù)據(jù)域邏輯的應用程序部件。 通常,模型對象會檢索模型狀態(tài)并將其存儲在數(shù)據(jù)庫中。 例如,Product 對象可能會從數(shù)據(jù)庫中檢索信息,操作該信息,然后將更新的信息寫回到數(shù)據(jù)庫內的 Product 表中。
2、視圖(View)
視圖是顯示應用程序用戶界面 (UI) 的組件。通常,此 UI 是用模型數(shù)據(jù)創(chuàng)建的。Product表的編輯視圖便是一個視圖示例,該視圖基于 Product 對象的當前狀態(tài)顯示文本框、下拉列表和復選框。
3、控制器(Controller)
控制器是處理用戶交互、使用模型并最終選擇要呈現(xiàn)的視圖來顯示 UI 的組件。 在MVC 應用程序中,視圖僅顯示信息;控制器則用于處理和響應用戶輸入和交互。 例如,控制器處理查詢字符串值,并將這些值傳遞給模型,而模型可能會使用這些值來查詢數(shù)據(jù)庫。
4.附上關系圖:
二、為什么會有 MVC,有什么優(yōu)點,缺點
1、為什么會有 MVC
Asp.net Web Form 存在的問題:
1. 響應時間:服務請求的耗時
2. 帶寬消耗:同時可傳輸多少數(shù)據(jù):
ASP.NET 開發(fā)人員都非常熟悉 ViewStates,因為它能夠自動保存 post 返回的狀態(tài),減少開發(fā)時間。但是這種開發(fā)時間的減少會帶來巨大的消耗,Viewstate 增加了頁面的大小。在做的加載測試中,與 MVC 對比,我們發(fā)現(xiàn) Viewstate 增加了兩倍的頁面存儲。
3. 單元測試:無法執(zhí)行自動化測試,必須手動測試:
Asp.net webform 頁面都繼承了“System.Web.UI.Page”類。但是這些類并不像普通的類一樣能夠到處復用和實例化。換句話來講,在 Weform 類中永遠都不可能執(zhí)行以下代碼中的操作:
WebForm1 obj = new WebForm1();
obj.Button1_Click();
既然無法實例化后臺代碼類,單元測試也是非常困難的,也無法執(zhí)行自動化測試。必須手動測試。
2、MVC 框架的優(yōu)點
• 通過將應用程序分為模型、視圖和控制器,化繁為簡的工作更加輕松。
• 它不使用視圖狀態(tài)或基于服務器的窗體。 這使得 MVC 框架特別適合想要完全控制應用程序行為的開發(fā)人員。
• 它使用一種通過單一控制器處理 Web 應用程序請求的前端控制器模式。 這使您可以設計一個支持豐富路由基礎結構的應用程序。
• 它為測試驅動的開發(fā) (TDD) 提供了更好的支持。
• 它非常適合大型開發(fā)團隊支持的 Web 應用程序,以及需要對應用程序行為進行嚴格控制的 Web 設計人員。
3、MVC 框架的缺點
• 視圖(View)與控制器(Controller)之間連接過于緊密:視圖與控制器是相互分離,卻是聯(lián)系緊密的部件,不能獨立重用。
• 視圖(View)對模型(Model)數(shù)據(jù)訪問低效:依據(jù)模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數(shù)據(jù)。
三、三層框架搭建
1、概述
a. 數(shù)據(jù)訪問層(EntityFramework):主要負責對數(shù)據(jù)的訪問管理,而不必管其他操作,為業(yè)務邏輯層提供方法調用。
b. 業(yè)務邏輯層:主要負責業(yè)務邏輯的處理,對數(shù)據(jù)層的操作。也就是說把一些數(shù)據(jù)層的操作進行組合。
c. 表示層:主要對用戶的請求接受,以及數(shù)據(jù)的返回,為客戶端提供應用程序的訪問。
d. 三層框架引用關系圖:
2、搭建 MVC三層框架項目
一、創(chuàng)建 ASP.NET MVC項目
a. 打開 Visual Studio
b. 操作:文件 -> 新建 -> 項目 -> 確定
c. 在彈出的窗體上選擇: MVC -> 確定 即可
二、添加三層項目
1.BLL(業(yè)務層)、2.DAL(數(shù)據(jù)層)、3.Model(實體層)
在解決方案上操作右鍵,選擇【添加項目】
三、添加三層引用關系
1. 三層間的引用關系如下:
♢ DAL 引用 Model
♢ BLL 引用 DAL 和 Model
♢ 創(chuàng)建的 ASP.NET MVC 項目引用 BLL 和 Model
2. 引用方法:在對應的項目上操作右鍵,選擇【引用】(也可直接在項目中的“引用”上操作右鍵)
四、了解目錄結構及作用
以上這篇ASP.NET 之 MVC框架及搭建教程(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
ASP.NET生成兩個日期范圍內隨機時間的實現(xiàn)方法
這篇文章主要介紹了ASP.NET生成兩個日期范圍內隨機時間的實現(xiàn)方法,通過自定義函數(shù)記錄開始時間與結束時間確定時間范圍進而生成該時間段的隨機時間,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12Asp.net 中使用GridView控件實現(xiàn)Checkbox單選
在GridView控件中,第0列有放一個CheckBox控件,現(xiàn)想實現(xiàn)對CheckBox進行單選,怎么實現(xiàn)呢?下面小編通過本文給大家分享Asp.net 中使用GridView控件實現(xiàn)Checkbox單選功能,一起看看吧2017-07-07Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫
這篇文章介紹了Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-03-03在ASP.NET使用JavaScript顯示信息提示窗口實現(xiàn)原理及代碼
在ASP.NET使用JavaScript顯示信息窗口,感興趣的朋友可以了解一下,本文將介紹詳細的操作步驟,希望對你的JavaScript知識鞏固有所幫助2013-01-01asp.net利用HttpModule實現(xiàn)防sql注入
關于sql注入,已經(jīng)被很多人討論過了。這篇沒有新意功能也不夠通用,nnd,不想引起口水,就是覺得簡單而且思路有參考性才貼出來。2009-12-12