MVC学习笔记1 MVC概述
MVC概述
MVC三種角色
– Model:?? 用于存儲數據的組件(與領域模型概念不同)。
– View:??? 根據Model數據進行內容展示的組件
– Controller:接受并處理用戶指令(操作Model),選擇一個View并輸出內容。
MVC概述:兩種分離
? View和數據(Model)分離
–能夠為相同的Model開發不同的View進行展示
–分離可視與不可視得組件,能夠對Model進行獨立測試(只有View到Model的單向引用)
? View和表現邏輯(Controller)分離
–分離邏輯與具體展示,能夠對邏輯進行獨立測試(只有Controller到View的單向引用)
MVC與三層架構
? MVC與三層架構類似?
– View – UI Layer
– Controller – BL Layer
– Model – DA Layer
? 其實不然
– MVC是表現模式(Presentation Pattern)
–三層架構是架構模式(Architecture Pattern)
–??? 沒有太多可比性
MVC之間無依賴關系,MVC之間是協作關系,沒有層次的關系。MVC不是分層。
WebForms vs ASP.NET MVC
? WebForms的優點
– 將Web開發抽象成一個組件模型
– 使用方便,入門容易
–使控件產業大大加強
? WebForms的缺點
–封裝太強——這還是Web開發嗎?
– 入門容易,用好難
– 不易進行單元測試,前后臺不易配合
? 不過WebForms也在成長
?
ASP.NET MVC的優勢
? 直接,Web開發就是Web開發
? 易于對界面邏輯進行單元測試
– Design for testability
? 易于后臺與前臺開發人員的配合
? ASP.NET MVC是在ASP.NET平臺下開發Web應用程序的另一選擇,并非為了取代WebForms。
?
ASP.NET MVC的特點
? 一切都是可替換的
– ViewEngine
– Action Filter
? 一切都是可測試的
? 公開源代碼
– 可以修改
–不可重新發布
?
?
?
Codeusing?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Web;
using?System.Web.Mvc;
namespace?MvcApplication1.Controllers
{
????//這是一個規則,表示如果拋出異常將由規定頁面處理
????[HandleError]
????/**////
????///?HomeController對應Views中的Home文件夾
????///?
????public?class?HomeController?:?Controller
????{
????????public?ActionResult?Index()
????????{
????????????ViewData["Message"]?=?"Welcome?to?ASP.NET?MVC!";
????????????//?.return?View();表示要展現一個aspx頁面。
????????????//默認情況下顯示同名aspx頁面:Views/Home/Index.aspx
????????????//當然你也可以自己指定,例如return?View("index1")
????????????//就是顯示Views/Home/Index1.aspx
????????????return?View();
????????}
????????public?ActionResult?About()
????????{
????????????return?View();
????????}
????}
}
return View();表示要展現一個aspx 默認情況下顯示同名aspx頁面:Views/Home/Index.aspx 當然你也可以自己指定,例如return ?View("index1")就是顯示Views/Home/Index1.aspx
轉載于:https://www.cnblogs.com/dupeng0811/archive/2009/06/04/1495958.html
總結
以上是生活随笔為你收集整理的MVC学习笔记1 MVC概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用VBA去除Excel工作表保护密码
- 下一篇: 《夜听妓诗》第八句是什么