ASP.NET 之 MVC框架及搭建


一、MVC簡介

MVC:Model-View-Controller(模型-視圖-控制器),MVC是一種軟件開發架構模式。

1、模型(Model

模型對象是實現應用程序數據域邏輯的應用程序部件。 通常,模型對象會檢索模型狀態並將其存儲在數據庫中。 例如,Product 對象可能會從數據庫中檢索信息,操作該信息,然后將更新的信息寫回到數據庫內的 Product 表中。

2、視圖(View

視圖是顯示應用程序用戶界面 (UI) 的組件。通常,此 UI 是用模型數據創建的。Product表的編輯視圖便是一個視圖示例,該視圖基於 Product 對象的當前狀態顯示文本框、下拉列表和復選框。

3、控制器(Controller)

控制器是處理用戶交互、使用模型並最終選擇要呈現的視圖來顯示 UI 的組件。 MVC 應用程序中,視圖僅顯示信息;控制器則用於處理和響應用戶輸入和交互。 例如,控制器處理查詢字符串值,並將這些值傳遞給模型,而模型可能會使用這些值來查詢數據庫。

4.附上關系圖:

 

MVC關系圖

二、為什么會有 MVC,有什么優點,缺點

1、為什么會有 MVC

Asp.net Web Form 存在的問題:

1. 響應時間:服務請求的耗時

2. 帶寬消耗:同時可傳輸多少數據:

ASP.NET 開發人員都非常熟悉 ViewStates,因為它能夠自動保存 post 返回的狀態,減少開發時間。但是這種開發時間的減少會帶來巨大的消耗,Viewstate 增加了頁面的大小。在做的加載測試中,與 MVC 對比,我們發現 Viewstate 增加了兩倍的頁面存儲。

3. 單元測試:無法執行自動化測試,必須手動測試:

Asp.net webform 頁面都繼承了“System.Web.UI.Page”類。但是這些類並不像普通的類一樣能夠到處復用和實例化。換句話來講,在 Weform 類中永遠都不可能執行以下代碼中的操作:

WebForm1 obj = new WebForm1();

obj.Button1_Click();

既然無法實例化后台代碼類,單元測試也是非常困難的,也無法執行自動化測試。必須手動測試。

2、MVC 框架的優點

• 通過將應用程序分為模型、視圖和控制器,化繁為簡的工作更加輕松。

• 它不使用視圖狀態或基於服務器的窗體。 這使得 MVC 框架特別適合想要完全控制應用程序行為的開發人員。

• 它使用一種通過單一控制器處理 Web 應用程序請求的前端控制器模式。 這使您可以設計一個支持豐富路由基礎結構的應用程序。

• 它為測試驅動的開發 (TDD) 提供了更好的支持。

• 它非常適合大型開發團隊支持的 Web 應用程序,以及需要對應用程序行為進行嚴格控制的 Web 設計人員。

3、MVC 框架的缺點

• 視圖(View)與控制器(Controller)之間連接過於緊密:視圖與控制器是相互分離,卻是聯系緊密的部件,不能獨立重用。

• 視圖(View)對模型(Model)數據訪問低效:依據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據。

 

三、三層框架搭建

 1、概述

a. 數據訪問層(EntityFramework):主要負責對數據的訪問管理,而不必管其他操作,為業務邏輯層提供方法調用。

b. 業務邏輯層:主要負責業務邏輯的處理,對數據層的操作。也就是說把一些數據層的操作進行組合。

c. 表示層:主要對用戶的請求接受,以及數據的返回,為客戶端提供應用程序的訪問。

d. 三層框架引用關系圖:

 

2、搭建 MVC三層框架項目

一、創建 ASP.NET MVC項目

a. 打開 Visual Studio

b. 操作:文件 -> 新建 -> 項目 -> 確定

c. 在彈出的窗體上選擇: MVC -> 確定 即可

二、添加三層項目

1.BLL(業務層)、2.DAL(數據層)、3.Model(實體層)

在解決方案上操作右鍵,選擇【添加項目】

三、添加三層引用關系

1. 三層間的引用關系如下:

♢ DAL 引用 Model

♢ BLL 引用 DAL 和 Model

♢ 創建的 ASP.NET MVC 項目引用 BLL 和 Model

2. 引用方法:在對應的項目上操作右鍵,選擇【引用】(也可直接在項目中的“引用”上操作右鍵)

四、了解目錄結構及作用

 

 


免責聲明!

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



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