999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

對Asp.net MVC 架構網站設計相關技術的探討

2016-05-14 05:11:39孫央麗
職業·下旬 2016年7期

孫央麗

摘 要:本文簡單介紹了基于 asp.net 環境下使用MVC 架構設計一個網站所涉及的技術。并通過一個簡單例子展示了設計一個網站涉及的數據庫設計、EDM 對象生成、控制器創建、視圖創建等內容,并對關鍵代碼做了展示盒介紹。

關鍵詞:asp.net MVC EDM ORM 網站設計

網絡技術發展日新月異,互聯網發展初期只能簡單共享一些文字圖片信息,現在是網頁圖文、聲音、視頻并茂。HTML5 標簽直接提供了對音頻和視頻的支持。Css3技術使得現在的網站頁面能實現手機端,電腦端自適應展示。現在的網站系統可以通過網絡實現對各種后臺業務系統的接口調用和系統無縫集成,并可以感知用戶地理位置。現在的網頁可以實現直接使用傳遞自定義數據模型(Model)到網頁中,生成html代碼來展示。現在的網站后臺系統可以實現使用新的數據查詢語言對自定義數據模型進行查詢。

我們可能會問:使用20年前asp網站設計也可以將ADO Recordset自定義數據集嵌套在網頁中展示啊?網上看看確實還有很多這樣的系統。

但查看這些網站系統后臺源代碼,會發現這些網頁往往將業務邏輯有關代碼以“意大利面條式”的方式嵌套在網頁HTML代碼中。無論是從軟件工程“高內聚低耦合”原則角度看,還是從系統升級維護角度看,這種方式都存在很多問題,維護業務邏輯也很復雜,不利業務邏輯的擴展。其實現在已經有更好的設計方式供選擇,那就是基于asp.net MVC 架構開發網站。可以以面向對象方式封裝業務邏輯,可以以強類型方式在網頁之間傳遞類型數據(model),可以用razor語法把數據模型循環方式生成HTML 頁面來展示從而實現對HTML 每一個元素操控,也可以使用微軟的EDM對象,實現概念層到數據層的映射。

業務層的代碼直接操控概念層數據模型(EF 實體模型)。可以使用linq 語法查詢數據集,而不是在程序代碼中嵌入sql 語句。業務層操控的不再是數據庫,而是直接操控概念層概念模型。系統會實現自動完整概念層到數據庫的映射和存儲。

最后得到的開發體驗是可以實現“關注點分離”,每一層只關注與自己有關的業務內容,這樣的架構才能適應復雜的業務邏輯,才能不斷應對持續變化的業務需求。

下面從實際應用角度對有關技術作簡單展示,希望對初學者有幫助。

一、asp.net MVC 架構構成

MVC全名是model view controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。mvc被獨特地發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。MVC 架構系統工作流程:當用戶輸入信息(瀏覽器中發送請求),首先獲得用戶輸入數據的是控制器(控制器就是后臺使用面向對象設計方法設計的類),然后控制器操控相應的模型(模型是根據業務概念模型設計的強類型數據類型,比如一個學生,課程,視頻等)。接下來,模型的內容可以傳遞給指定的視圖(使用razor 語法遍歷模型內的數據轉換成HTML 頁面里的數據)返回給用戶,這時用戶在瀏覽器就看到了返回的信息。MVC雖然有很多技術細節,但是主要工作過程就如上所述。

二、使用MVC架構設計一個網站主要步驟和代碼分析

下面以創建一個視頻網站查詢頁面為例來展示使用mvc 架構創建網站方法的主要代碼原理。

1.創建MVC 項目

打開 vs2015 開發集成環境依次選擇新建項目---選擇web----選擇asp.net web 應用程序-----輸入項目名稱---選擇MVC 項目類型---確定。操作到這里開發環境就能看到項目文件夾結構。

各個文件夾功能做好標注。沒有標注的文件夾暫且放一放,可以先理解主要功能有關的文件夾,進一步再研究其他相關文件夾。

2.創建數據庫并創建相應表

為了簡單步驟,筆者在sql server 創建了 videos 數據庫,并創建了如圖1所示video表,填充了6條記錄數據(如圖1)。

3.根據數據庫生成概念層數據實體

接下來一個重要步驟是根據創建的數據庫生成實體數據模型(edm模型,是微軟對ORM 思想的一種實現,創建好實體數據模型以后,應用系統將操作實體數據模型實現業務實體的增刪改查,而不是直接使用SQL 語句操作數據庫)。

操作步驟如下:將鼠標停留在models 文件夾,然后右鍵鼠標,在出現的菜單中依次選擇添加—新建項—ADO.NET 實體數據模型——來自數據庫的EF設計器——連接前面創建好的數據庫—選擇要映射的表—點擊完成。

操作到這里已經完成數據實體的創建。接下來只要操作概念層數據實體就能完成對數據庫的增刪改查。而數據實體則是面向對象設計的,數據庫里面的表字段變成了對象的屬性,在程序業務代碼中,也是操縱控這些實體對象,而不是數據庫里面的表,他們之間的映射,系統會自動完成。這就是微軟根據ORM 思想設計的實體數據模型,簡稱EDM(詳細細節不展開介紹,請大家查找有關資料)。

從圖2可以看到 videos模型有Id,videoName,picture,creater,createDate 5個屬性,分別對應著數據庫表5個字段。

打開代碼窗口可以看到實體數據模型其實就是一個類,和面向對象設計中的實體類沒有本質區別。

操作到這里,筆者已經準備好了數據庫,也準備好了概念層數據實體和數據實體模型對應的數據上下文對象(數據上下文對象可以加載數據到實體數據模型中)。目前還缺一個動作,就是調用該方法,得到數據并將這些數據顯示在頁面中。下面繼續完成這個動作。

4.設計控制器,訪問到數據,將數據模型傳遞給視圖

將鼠標停留在Controller 文件夾依次選擇:添加—控制——包含視圖的MVC5 控制器(使用Entity Framwork)——添加。完成上面操作在Controll 文件夾就多出了一個控制器文件。

5.設計視圖,將數據模型生成HTML 頁面

完成上面操作向導,我們查看Views文件夾,可以看到多了一個videos 子文件夾,里面有一個名為 index.cshtml 文件。通過這一步驟應該注意以下知識點。

(1)razor語法其實就是c#語句前面加@就能將c# 語法和html 混合編寫,既能將模型數據轉換成HTML 頁面數據顯示。

(2)視圖文件的第一行有個IEnumerable接口類型的聲明,用接口類型就能接收控制器傳遞過來的模型數據。

(3)微軟已經為我們設計了一套生成 HTML 標簽的編程接口。

6.運行網站

以上操作已經完成后臺數據庫的創建、概念層EDM 到數據庫的映射數據模型的創建、控制器的創建、視圖的創建并且將網站頁面運行起來了。雖然簡單,希望對初學者有所幫助。

主站蜘蛛池模板: 日韩天堂视频| 欧美翘臀一区二区三区| 青青草原偷拍视频| 亚洲综合久久成人AV| 欧美在线精品怡红院 | 久久黄色一级片| 日韩无码真实干出血视频| 欧美精品在线视频观看| 国产免费久久精品44| 香蕉eeww99国产精选播放| 黑人巨大精品欧美一区二区区| 久热re国产手机在线观看| 亚洲婷婷丁香| 国产情侣一区二区三区| 五月天久久婷婷| 亚洲综合激情另类专区| 欧美色综合网站| 国产成人无码播放| 毛片在线播放a| 婷婷色狠狠干| 国产91久久久久久| 亚洲欧美成人在线视频| 久久夜色撩人精品国产| 2021国产精品自产拍在线| 亚洲天堂.com| 欧美性精品| a免费毛片在线播放| 日韩成人高清无码| 在线亚洲小视频| 成人一级黄色毛片| 成人久久18免费网站| 欧美日韩免费在线视频| 少妇露出福利视频| 伊人久久福利中文字幕| 亚洲国产中文综合专区在| 一本色道久久88综合日韩精品| 怡红院美国分院一区二区| 国产精品女主播| 真实国产精品vr专区| 免费A∨中文乱码专区| 国产精品黄色片| 日本高清成本人视频一区| 国产97公开成人免费视频| 免费一级α片在线观看| 被公侵犯人妻少妇一区二区三区| 青草午夜精品视频在线观看| 国产精品福利尤物youwu| 毛片网站在线播放| 国产国产人成免费视频77777 | 97人人模人人爽人人喊小说| 国模私拍一区二区三区| a欧美在线| 精品剧情v国产在线观看| 国产精品开放后亚洲| 久久夜色撩人精品国产| 在线99视频| 精品久久香蕉国产线看观看gif| 2020国产在线视精品在| 亚洲啪啪网| 国产精品自在自线免费观看| 18禁黄无遮挡网站| 亚洲综合天堂网| 午夜电影在线观看国产1区| 韩日免费小视频| 国产手机在线小视频免费观看| 国产成人亚洲精品色欲AV| 精品国产99久久| 91精品视频在线播放| 国产精品久久自在自2021| 国产精品高清国产三级囯产AV| 99热这里都是国产精品| 黄色免费在线网址| 午夜日b视频| 国产一级毛片网站| 丰满人妻中出白浆| 欧美成人精品在线| 欧美日韩导航| 精品乱码久久久久久久| 久久国语对白| 手机在线国产精品| 亚洲欧洲日韩综合色天使| 国产h视频免费观看|