本篇文章給大家分享的是有關(guān)ASP.NET MVC的準(zhǔn)備工作有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、商河ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的商河網(wǎng)站制作公司
配置環(huán)境
如果您還沒(méi)有安裝asp.net.mvc的話,請(qǐng)到這里下載安裝。
下載后,按提示安裝就可以了。
新建項(xiàng)目
安裝完asp.net.mvc后,在VS里新建一個(gè)項(xiàng)目,可以看到有一個(gè)“asp.net.mvc Web Application”的選項(xiàng),選擇它,新建一個(gè)項(xiàng)目,并命名為“MVCDemo”。
建完項(xiàng)目后,可以看到默認(rèn)情況下已經(jīng)建立了很多文件夾,這里簡(jiǎn)略說(shuō)一下各個(gè)文件夾的作用。
Content——存放應(yīng)用需要的一些資源文件,如圖片、CSS等。
Controllers——存放控制器類(lèi)。
Models——存放業(yè)務(wù)模型組件。
Scripts——存放JavaScript腳本文件。
Views——存放視圖。
現(xiàn)在不了解一些概念沒(méi)關(guān)系,后續(xù)文章將慢慢解釋。
準(zhǔn)備工作
新建完項(xiàng)目后,我們要做的準(zhǔn)備工作就是建立Mock業(yè)務(wù)模型,這樣以后我們就直接使用這些“欺騙”式的業(yè)務(wù)模型進(jìn)行業(yè)務(wù)處理,而將全部關(guān)注點(diǎn)放在asp.net.mvc的學(xué)習(xí)上。
首先在Models下新建三個(gè)文件夾,分別叫做Entities、Interfaces、MockModels,分別用來(lái)存放實(shí)體類(lèi)、接口及Mock業(yè)務(wù)模型。
Entities下有兩個(gè)類(lèi):CategoryInfo和AnnounceInfo,分別是公告類(lèi)別和公告的實(shí)體類(lèi)。具體代碼如下:
CategoryInfo.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCDemo.Models.Entities { /// /// 分類(lèi)實(shí)體類(lèi) /// public class CategoryInfo { public int ID { get; set; } public string Name { get; set; } } }
AnnounceInfo.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCDemo.Models.Entities { /// /// 公告實(shí)體類(lèi) /// public class AnnounceInfo { public int ID { get; set; } public string Title { get; set; } public string Content { get; set; } public int Category { get; set; } } }
接下來(lái),我們將定義兩個(gè)接口,分別是公告類(lèi)別服務(wù)和公告服務(wù)必須實(shí)現(xiàn)的接口。這兩個(gè)接口放在Interfaces下。
ICategoryService.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MVCDemo.Models.Entities; namespace MVCDemo.Models.Interfaces { /// /// 分類(lèi)服務(wù)組件接口 /// public interface ICategoryService { /// /// 添加分類(lèi) /// /// void Add(CategoryInfo category); /// /// 修改分類(lèi)名稱 /// /// /// void ChangeName(int id,string name); /// /// 刪除分類(lèi) /// /// void Remove(int id); /// /// 取得某個(gè)分類(lèi)詳細(xì)信息 /// /// /// CategoryInfo GetDetail(int id); /// /// 取得所有分類(lèi) /// /// List GetAll(); } }
IAnnounceService.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MVCDemo.Models.Entities; namespace MVCDemo.Models.Interfaces { /// /// 公告服務(wù)組件接口 /// public interface IAnnounceService { /// /// 發(fā)布公告 /// /// void Release(AnnounceInfo announce); /// /// 修改公告信息 /// /// void Notify(AnnounceInfo announce); /// /// 刪除公告 /// /// void Remove(int id); /// /// 取得公告詳細(xì)內(nèi)容 /// /// /// AnnounceInfo GetDetail(int id); /// /// 取得某個(gè)分類(lèi)下的所有公告 /// /// /// List GetByCategory(CategoryInfo category); } }
然后,我們?cè)贛ockModels下建立兩個(gè)Mock業(yè)務(wù)邏輯服務(wù)模型。注意它們要各自實(shí)現(xiàn)自己的接口。
MockCategoryService.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using MVCDemo.Models.Interfaces; using MVCDemo.Models.Entities; namespace MVCDemo.Models.MockModels { /// /// “欺騙”服務(wù)組件,用于模擬分類(lèi)的業(yè)務(wù)服務(wù) /// public class MockCategoryService : ICategoryService { /// /// 添加分類(lèi) /// /// public void Add(CategoryInfo category) { return; } /// /// 修改分類(lèi)名稱 /// /// /// public void ChangeName(int id, string name) { return; } /// /// 刪除分類(lèi) /// /// public void Remove(int id) { return; } /// /// 取得某個(gè)分類(lèi)詳細(xì)信息 /// /// /// public CategoryInfo GetDetail(int id) { return new CategoryInfo { ID = id, Name = "***通告", }; } /// /// 取得所有分類(lèi) /// /// public List GetAll() { List categories = new List(); for (int i = 1; i <= 5; i++) { CategoryInfo category = new CategoryInfo { ID = i, Name="通告類(lèi)別"+i, }; categories.Add(category); } return categories; } } }
MockAnnounceService.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using MVCDemo.Models.Interfaces; using MVCDemo.Models.Entities; namespace MVCDemo.Models.MockModels { /// /// “欺騙”服務(wù)組件,用于模擬公告的業(yè)務(wù)服務(wù) /// public class MockAnnounceService : IAnnounceService { /// /// 發(fā)布公告 /// /// public void Release(AnnounceInfo announce) { throw new Exception("發(fā)布公告失敗了!原因?沒(méi)有原因!我是業(yè)務(wù)組件,我說(shuō)失敗就失?。?quot;); return; } /// /// 修改公告信息 /// /// public void Notify(AnnounceInfo announce) { return; } /// /// 刪除公告 /// /// public void Remove(int id) { return; } /// /// 取得公告詳細(xì)內(nèi)容 /// /// /// public AnnounceInfo GetDetail(int id) { return new AnnounceInfo { ID = id, Title = "第" + id + "則公告", Content = "全體同學(xué)明早九點(diǎn)集體做俯臥撐!", }; } /// /// 取得某個(gè)分類(lèi)下的所有公告 /// /// /// public List GetByCategory(CategoryInfo category) { List announces = new List(); for (int i = 1; i <= 10; i++) { AnnounceInfo announce = new AnnounceInfo { ID = i, Title = category.Name+ "的第" + i + "則公告", Content = "全體同學(xué)明早九點(diǎn)集體做俯臥撐!", }; announces.Add(announce); } return announces; } } }
可以看到,這兩個(gè)類(lèi)并沒(méi)有訪問(wèn)數(shù)據(jù)庫(kù),也沒(méi)有實(shí)現(xiàn)真正的業(yè)務(wù)邏輯,而不過(guò)是“捏造”了一些數(shù)據(jù)騙騙我們的表示層而已。
***,我們要建立一個(gè)生成業(yè)務(wù)邏輯模型的生成器,用來(lái)實(shí)現(xiàn)表示層和業(yè)務(wù)邏輯層的解耦。當(dāng)然,為了簡(jiǎn)化復(fù)雜度,這里沒(méi)有使用依賴注入機(jī)制。下面是我們生成器的代碼,這個(gè)類(lèi)是直接放在Models下的。
ServiceBuilder.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using MVCDemo.Models.Interfaces; using MVCDemo.Models.MockModels; namespace MVCDemo.Models { /// /// 服務(wù)組件生成類(lèi),用于生成業(yè)務(wù)服務(wù)組件 /// public sealed class ServiceBuilder { /// /// 創(chuàng)建分類(lèi)服務(wù)組件 /// /// 分類(lèi)服務(wù)組件 public static ICategoryService BuildCategoryService() { return new MockCategoryService(); } /// /// 創(chuàng)建公告服務(wù)組件 /// /// 公告服務(wù)組件 public static IAnnounceService BuildAnnounceService() { return new MockAnnounceService(); } } }
OK,到這里,我們的準(zhǔn)備工作就做完了。完成這些后,系統(tǒng)的目錄結(jié)構(gòu)如下圖所示:
以上就是ASP.NET MVC的準(zhǔn)備工作有哪些,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章名稱:ASP.NETMVC的準(zhǔn)備工作有哪些
分享鏈接:http://aaarwkj.com/article36/iijopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、App開(kāi)發(fā)、網(wǎng)站策劃、動(dòng)態(tài)網(wǎng)站、做網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)