SlideShare a Scribd company logo
1 of 26
點課幫 Developer Party 11-925

CoodeBx 酷碼盒子

Sky Chang
天空的垃圾場 blog.sanc.idv.tw
議題大綱
什麼是MVC
 ASP.NET MVC架構
 ASP.NET MVC新功能探討

最可怕的程式碼
一隻程式超過30000行
變數全部都是a、aa、b、bb。

還包含許多了500多行的SQL語法
遇到了該怎麼辦!?

燃燒生命吧!!
偉大的ASP程式
我是一隻ASP包
山包地也包海
使用者
介面

商業邏輯

介面邏輯

SQL
常常發生的問題
修改程式容易造成錯誤

怎麼改怎麼錯

重複邏輯散落世界各地

改對一個還是錯

無法協同其他人員合作

原本對的也變錯

千錯萬錯都是寫程式的錯!!

使用者沒信心、開發者沒動力!!
ASP.NET CodeBehind

這樣就夠了嗎!?
ASP.NET的缺點
傳輸過於笨重
 複雜的HTML
 不可測試性

什麼是MVC
他是UI層(展示層)的Design Patten(設計
樣式)。
 他是由Model、View、Controller所組成。
 分離原本複雜的關係。

Model
通常為資料模型。
 也可以是一個DTO。
 通常裡面會放許多的商業邏輯。

View
頁面。
 HTML、CSS、JavaScript皆屬於此區塊。
 於此頁面撰寫顯示邏輯是合理的。

Controller
決定運作的流程
 負責決定顯示哪一個View
 負責控制Model的傳遞

MVC架構圖
MVC 優點是什麼
三者有點黏,又不會太黏。
 Model、Controller、View,三者之間可
以獨立開發。
 支援標準的HTML語法。
 不在使用PostBack,所以傳輸很輕量。
 容易測試的架構。

那ASP.NET MVC是什麼?


MVC是一個設計樣式的名詞,而
ASP.NET MVC是擁有實作此設計樣式的
Framework的產品。
ASP.NET 要被淘汰了嗎?
ASP.NET 適合快速且小的專案。
 ASP.NET MVC 適合大型的專案。

Demo


程式界最有名的Demo範例。
ASP.NET MVC 4 Developer
Preview 新功能預覽
Mobile範例樣板
 Display Modes
 強大的NuGet
 View Switcher
 Recipes、Task支援Async Controller

Mobile範例樣版
能快速地建立手機的頁面。
 使用jQuery Mobile來支援手機平台。

Mobile範例樣板 Demo
Display Modes
能依據不同的平台來進行切換顯示頁面。
 另用檔案名稱原理來切換。
 Layout也可以使用。

Display Modes Demo
強大的NuGet
快速的將擴充套件裝好。
 會自動的升級與處理。
 未來還可以自行撰寫此擴充套件

強大的NuGet Demo
View Switcher
能切換Mobile平台與Desktop平台。
 SetOverriddenBrowser(userAgentString)


 設定模擬瀏覽器的類型。



GetOverriddenUserAgent()
 取得模擬瀏覽器類型的字串。



GetOverriddenBrowser()
 取得HttpBrowserCapabilitiesBase的實體。



ClearOverriddenBrowser()
 清除所有HttpBrowserCapabilitiesBase 的實體。
View Switcher Demo
End
天空的垃圾場 http://blog.sanc.idv.tw
 ASP.NET http://www.asp.net


More Related Content

Similar to Asp.Net MVC 4概念與新功能探討

利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式Chui-Wen Chiu
 
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Kyle Shen
 
20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日twMVC
 
ASP.NET MVC 快速上手
ASP.NET MVC 快速上手ASP.NET MVC 快速上手
ASP.NET MVC 快速上手Study4TW
 
ASP.NET MVC 5線上課程(入門前三天)
ASP.NET MVC 5線上課程(入門前三天)ASP.NET MVC 5線上課程(入門前三天)
ASP.NET MVC 5線上課程(入門前三天)MIS2000 Lab.
 
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3twMVC
 
twMVC#03 | ASP.NET MVC內建驗證活用與擴充
twMVC#03 | ASP.NET MVC內建驗證活用與擴充twMVC#03 | ASP.NET MVC內建驗證活用與擴充
twMVC#03 | ASP.NET MVC內建驗證活用與擴充twMVC
 
Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web FrameworkFred Chien
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13twMVC
 
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧twMVC
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Alan Tsai
 
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型裕波 周
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎Gelis Wu
 
ASP.NET MVC (Gi Days)
ASP.NET MVC (Gi Days)ASP.NET MVC (Gi Days)
ASP.NET MVC (Gi Days)leeju lee
 
.Net网络编程入门
.Net网络编程入门.Net网络编程入门
.Net网络编程入门magicshui
 
Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Zhenhua Tang
 
2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端Bruce Chen
 
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013Adam Wang
 

Similar to Asp.Net MVC 4概念與新功能探討 (20)

利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式利用 ASP.NET MVC 提升您的 Web 應用程式
利用 ASP.NET MVC 提升您的 Web 應用程式
 
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4
 
20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日20130823微軟雲端平台開發者日
20130823微軟雲端平台開發者日
 
ASP.NET MVC 快速上手
ASP.NET MVC 快速上手ASP.NET MVC 快速上手
ASP.NET MVC 快速上手
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 
ASP.NET MVC 5線上課程(入門前三天)
ASP.NET MVC 5線上課程(入門前三天)ASP.NET MVC 5線上課程(入門前三天)
ASP.NET MVC 5線上課程(入門前三天)
 
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
 
twMVC#03 | ASP.NET MVC內建驗證活用與擴充
twMVC#03 | ASP.NET MVC內建驗證活用與擴充twMVC#03 | ASP.NET MVC內建驗證活用與擴充
twMVC#03 | ASP.NET MVC內建驗證活用與擴充
 
Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web Framework
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
 
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
twMVC#13 | ASP.NET MVC 分頁與排序相關技巧
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
 
Asp.net mvc 基礎
Asp.net mvc 基礎Asp.net mvc 基礎
Asp.net mvc 基礎
 
ASP.NET MVC (Gi Days)
ASP.NET MVC (Gi Days)ASP.NET MVC (Gi Days)
ASP.NET MVC (Gi Days)
 
.Net网络编程入门
.Net网络编程入门.Net网络编程入门
.Net网络编程入门
 
Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘Asp.net+mvc4框架揭秘
Asp.net+mvc4框架揭秘
 
2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端
 
那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013那些mockup沒告訴你的事@WebConf.tw 2013
那些mockup沒告訴你的事@WebConf.tw 2013
 

More from Study4TW

如何攻破大型副本 大型專案的開發與團隊合作經驗 聊天室
如何攻破大型副本   大型專案的開發與團隊合作經驗 聊天室如何攻破大型副本   大型專案的開發與團隊合作經驗 聊天室
如何攻破大型副本 大型專案的開發與團隊合作經驗 聊天室Study4TW
 
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )Study4TW
 
Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2Study4TW
 
James-版本控制
James-版本控制James-版本控制
James-版本控制Study4TW
 
windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發Study4TW
 
Visual Studio 2013 新功能
Visual Studio 2013 新功能Visual Studio 2013 新功能
Visual Studio 2013 新功能Study4TW
 
使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發Study4TW
 

More from Study4TW (7)

如何攻破大型副本 大型專案的開發與團隊合作經驗 聊天室
如何攻破大型副本   大型專案的開發與團隊合作經驗 聊天室如何攻破大型副本   大型專案的開發與團隊合作經驗 聊天室
如何攻破大型副本 大型專案的開發與團隊合作經驗 聊天室
 
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
 
Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2
 
James-版本控制
James-版本控制James-版本控制
James-版本控制
 
windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發
 
Visual Studio 2013 新功能
Visual Studio 2013 新功能Visual Studio 2013 新功能
Visual Studio 2013 新功能
 
使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發
 

Asp.Net MVC 4概念與新功能探討