21
ASP.NET MVC 快快快快 快快 快快

ASP.NET MVC 快速上手

Embed Size (px)

DESCRIPTION

Study4.TW 2014/02/22 ASP.NET MVC 快速上手 - 饅頭

Citation preview

Page 1: ASP.NET MVC 快速上手

ASP.NET MVC

快速上手主講:饅頭

Page 2: ASP.NET MVC 快速上手

About Me

資訊管理系 四年級

微軟最有價值專家 (ASP/IIS)

Study4.TW 常任講師

興趣:ASP.net MVC 、 Web Design 、 SQL Server 、 Virtualization 、 Windows Server

部落格:饅頭小舖

Page 3: ASP.NET MVC 快速上手

• 什麼是 MVC ,與 Asp.net 有哪些不同• MVC 如何運作 (Routing)

• M 、 V 、 C 他們的工作• MVC 的開發• MVC 的部署方式 (Azure Web Site 、 IIS)

大綱

Page 4: ASP.NET MVC 快速上手

什麼是 MVC ,與 Asp.net 有哪些不同?

Page 5: ASP.NET MVC 快速上手

• MVC 模式最早由 Trygve Reenskaug 在 1978年提出,是全錄帕羅奧多研究中心( Xerox PARC )在 20 世紀 80 年代為程式語言Smalltalk 發明的一種軟體設計模式

• 控制器 Controller- 負責轉發請求,對請求進行處理。

• 檢視 View - 介面設計人員進行圖形介面設計。• 模型 Model - 程式設計師編寫程式應有的功能

(實作演算法等等)、資料庫專家進行資料管理和資料庫設計 ( 可以實作具體的功能 ) 。

MVC 設計樣式

Page 6: ASP.NET MVC 快速上手

Asp.net MVC VS Asp.net

Page 7: ASP.NET MVC 快速上手

優點

• 少了 Viewstate ,網站載入的流量減少與速度增加

• 採用 JS 、 CSS 、 HTML 開發

• 關注點分離,各司其職

• 容易測試

缺點

• 許多功能與版面需要靠 JS 、 CSS來呈現,對初學者 (JS 或 CSS 不熟的人 ) 門檻較高

Asp.net MVC

Page 8: ASP.NET MVC 快速上手

優點

• 可以使用元件拖拉成頁面

• 可見及所得的開發

• 容易開發,入門簡單

缺點

• 厚重的 Viewstate 造成傳輸量過大,造成畫面載入速度變慢

• JS 、 CSS 、 HTML 夾雜頁面中,難以維護

• 前後端開發難以切割同步

Asp.net

Page 9: ASP.NET MVC 快速上手

• 少了 Viewstate ,增加載入的速度並減少傳輸量• 回到網頁的初衷,載用 JS 、 CSS 與 HTML 開發• 前後台可切割同時開發,增加開發速度

Asp.net MVC VS Asp.net

Page 10: ASP.NET MVC 快速上手

MVC 如何運作?

Page 11: ASP.NET MVC 快速上手

• 資料夾?• {controller}/{action}/{id}

• Controller -> 縣市名稱• action -> 街道名稱• Id -> 樓層

MVC 的網址

Page 12: ASP.NET MVC 快速上手

M 、 V 、 C 他們的工作

Page 13: ASP.NET MVC 快速上手

• 用於封裝與應用程式的業務邏輯相關的資料以及對資料的處理• 對資料直接存取的權力• 不依賴「檢視」和「控制器」• 不關心它會被如何顯示或是如何被操作

Model

Page 14: ASP.NET MVC 快速上手

• 顯示應用程式中使用者介面 (UI) 的元件• 檢視層能夠實作資料有目的的顯示(理論上,這不是必需的)• 沒有程式上的邏輯(一般情況中)• 通常此 UI 是從模型資料建立

View

Page 15: ASP.NET MVC 快速上手

• 控制器起到不同層面間的組織,控制應用程式的流程• 處理使用者的回應與事件處理

Controller

Page 16: ASP.NET MVC 快速上手

MVC 的開發

Page 17: ASP.NET MVC 快速上手

MVC 的部署方式

Page 18: ASP.NET MVC 快速上手

• Web Deploy

• FTP

IIS佈署

Page 19: ASP.NET MVC 快速上手

佈署到 Azure 的網站

Page 20: ASP.NET MVC 快速上手

Thanks