鍍金池/ 教程/ C#/ ASP.Net MVC模式
ASP.Net MVC簡(jiǎn)介
ASP.Net MVC過(guò)濾器
ASP.Net MVC視圖
ASP.Net MVC安全
ASP.Net MVC手腳架
ASP.Net MVC控制器
ASP.Net MVC與SQL Server數(shù)據(jù)庫(kù)操作
ASP.Net MVC NuGet包管理
ASP.Net MVC入門(mén)程序
ASP.Net MVC Razor
ASP.Net MVC Bootstrap
ASP.Net MVC單元測(cè)試
ASP.Net MVC動(dòng)作
ASP.Net MVC模式
ASP.Net MVC選擇器
ASP.Net MVC開(kāi)發(fā)環(huán)境配置
ASP.Net MVC生命周期
ASP.Net MVC模型綁定
ASP.Net MVC自托管(本地主機(jī)部署)
ASP.Net MVC驗(yàn)證
ASP.Net MVC緩存
ASP.Net MVC數(shù)據(jù)模型
ASP.Net MVC路由
ASP.Net MVC教程
ASP.Net MVC助手
ASP.Net MVC數(shù)據(jù)注解
ASP.Net MVC Web API

ASP.Net MVC模式

MVC(模型 - 視圖 - 控制器)設(shè)計(jì)模式實(shí)際上已經(jīng)存在了幾十年,并且已經(jīng)用于許多不同的技術(shù)。 從Smalltalk到C++到Java的一切,現(xiàn)在C#和.NET使用這種設(shè)計(jì)模式來(lái)構(gòu)建用戶界面。

以下是MVC模式的一些顯著特點(diǎn) -

  • 最初它在1979年被命名為:Thing-Model-View-Editor,然后它被簡(jiǎn)化為:Model-View-Controller。

  • 這是一種分離應(yīng)用程序中的問(wèn)題(例如,將數(shù)據(jù)訪問(wèn)邏輯與顯示邏輯分離)的強(qiáng)大而優(yōu)雅的手段,并且非常適合于Web應(yīng)用程序。

  • 其明確的關(guān)注點(diǎn)分離確實(shí)為應(yīng)用程序的設(shè)計(jì)增添了一點(diǎn)額外的復(fù)雜性,但非凡的好處超過(guò)了額外的工作量。

MVC體系結(jié)構(gòu)模式將應(yīng)用程序的用戶界面(UI)分為三個(gè)主要部分。

  • 模型(Model) - 描述正在使用的數(shù)據(jù)以及業(yè)務(wù)邏輯的一組類(lèi)。
  • 視圖(View) - 定義如何顯示應(yīng)用程序的用戶界面。 這是一個(gè)純粹的HTML,它決定了UI的外觀。
  • 控制器(Controller) - 一組處理來(lái)自用戶的請(qǐng)求,整體應(yīng)用程序流程和特定于應(yīng)用程序的邏輯的類(lèi)。

MVC背后的想法

MVC背后的想法是:將擁有一個(gè)名為視圖(View)的組件,該組件負(fù)責(zé)呈現(xiàn)用戶界面,不管它是HTML還是桌面應(yīng)用程序上的UI小部件。

該視圖與模型交互通信,該模型包含視圖需要顯示的所有數(shù)據(jù)。視圖通常就沒(méi)有太多的邏輯。

在一個(gè)Web應(yīng)用程序中,視圖可能根本沒(méi)有任何關(guān)聯(lián)的代碼。 它可能只是HTML,然后是從模型中獲取數(shù)據(jù)片段的表達(dá)式,并將它們插入到視圖中的正確位置來(lái)構(gòu)建HTML模板并顯示給用戶。

組織的控制器就是一切。 當(dāng)一個(gè)HTTP請(qǐng)求到達(dá)MVC應(yīng)用程序時(shí),該請(qǐng)求被路由到一個(gè)控制器,然后由控制器來(lái)與數(shù)據(jù)庫(kù),文件系統(tǒng)或模型進(jìn)行通信。