日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ASP.NETMVC教程(一):準(zhǔn)備工作

配置環(huán)境

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,包括成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊(duì)十多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nè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)略說一下各個(gè)文件夾的作用。

Content——存放應(yīng)用需要的一些資源文件,如圖片、CSS等。

Controllers——存放控制器類。

Models——存放業(yè)務(wù)模型組件。

Scripts——存放JavaScript腳本文件。

Views——存放視圖。

現(xiàn)在不了解一些概念沒關(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,分別用來存放實(shí)體類、接口及Mock業(yè)務(wù)模型。

Entities下有兩個(gè)類:CategoryInfo和AnnounceInfo,分別是公告類別和公告的實(shí)體類。具體代碼如下:

CategoryInfo.cs:

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5.  
  6. namespace MVCDemo.Models.Entities  
  7. {  
  8.     ///   
  9.     /// 分類實(shí)體類  
  10.     /// 
  11.  
  12.     public class CategoryInfo  
  13.     {  
  14.         public int ID { get; set; }  
  15.         public string Name { get; set; }  
  16.     }  
  17. }  
  18.  

AnnounceInfo.cs:

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5.  
  6. namespace MVCDemo.Models.Entities  
  7. {  
  8.     ///   
  9.     /// 公告實(shí)體類  
  10.     /// 
  11.  
  12.     public class AnnounceInfo  
  13.     {  
  14.         public int ID { get; set; }  
  15.         public string Title { get; set; }  
  16.         public string Content { get; set; }  
  17.         public int Category { get; set; }  
  18.     }  
  19. }  
  20.  

接下來,我們將定義兩個(gè)接口,分別是公告類別服務(wù)和公告服務(wù)必須實(shí)現(xiàn)的接口。這兩個(gè)接口放在Interfaces下。

ICategoryService.cs:

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using MVCDemo.Models.Entities;  
  6.  
  7. namespace MVCDemo.Models.Interfaces  
  8. {  
  9.     ///   
  10.     /// 分類服務(wù)組件接口  
  11.     /// 
  12.  
  13.     public interface ICategoryService  
  14.     {  
  15.         ///   
  16.         /// 添加分類  
  17.         /// 
  18.  
  19.         ///   
  20.         void Add(CategoryInfo category);  
  21.  
  22.         ///   
  23.         /// 修改分類名稱  
  24.         /// 
  25.  
  26.         ///   
  27.         ///   
  28.         void ChangeName(int id,string name);  
  29.  
  30.         ///   
  31.         /// 刪除分類  
  32.         /// 
  33.  
  34.         ///   
  35.         void Remove(int id);  
  36.  
  37.         ///   
  38.         /// 取得某個(gè)分類詳細(xì)信息  
  39.         /// 
  40.  
  41.         ///   
  42.         ///   
  43.         CategoryInfo GetDetail(int id);  
  44.  
  45.         ///   
  46.         /// 取得所有分類  
  47.         /// 
  48.  
  49.         ///   
  50.         List  GetAll();  
  51.     }  
  52. }  
  53.  

IAnnounceService.cs

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using MVCDemo.Models.Entities;  
  6.  
  7. namespace MVCDemo.Models.Interfaces  
  8. {  
  9.     ///   
  10.     /// 公告服務(wù)組件接口  
  11.     /// 
  12.  
  13.     public interface IAnnounceService  
  14.     {  
  15.         ///   
  16.         /// 發(fā)布公告  
  17.         /// 
  18.  
  19.         ///   
  20.         void Release(AnnounceInfo announce);  
  21.  
  22.         ///   
  23.         /// 修改公告信息  
  24.         /// 
  25.  
  26.         ///   
  27.         void Notify(AnnounceInfo announce);  
  28.  
  29.         ///   
  30.         /// 刪除公告  
  31.         /// 
  32.  
  33.         ///   
  34.         void Remove(int id);  
  35.  
  36.         ///   
  37.         /// 取得公告詳細(xì)內(nèi)容  
  38.         /// 
  39.  
  40.         ///   
  41.         ///   
  42.         AnnounceInfo GetDetail(int id);  
  43.  
  44.         ///   
  45.         /// 取得某個(gè)分類下的所有公告  
  46.         /// 
  47.  
  48.         ///   
  49.         ///   
  50.         List  GetByCategory(CategoryInfo category);  
  51.     }  
  52. }  
  53.  

然后,我們?cè)贛ockModels下建立兩個(gè)Mock業(yè)務(wù)邏輯服務(wù)模型。注意它們要各自實(shí)現(xiàn)自己的接口。

MockCategoryService.cs:

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using MVCDemo.Models.Interfaces;  
  6. using MVCDemo.Models.Entities;  
  7.  
  8. namespace MVCDemo.Models.MockModels  
  9. {  
  10.     ///   
  11.     /// “欺騙”服務(wù)組件,用于模擬分類的業(yè)務(wù)服務(wù)  
  12.     /// 
  13.  
  14.     public class MockCategoryService : ICategoryService  
  15.     {  
  16.         ///   
  17.         /// 添加分類  
  18.         /// 
  19.  
  20.         ///   
  21.         public void Add(CategoryInfo category)  
  22.         {  
  23.             return;  
  24.         }  
  25.  
  26.         ///   
  27.         /// 修改分類名稱  
  28.         /// 
  29.  
  30.         ///   
  31.         ///   
  32.         public void ChangeName(int id, string name)  
  33.         {  
  34.             return;  
  35.         }  
  36.  
  37.         ///   
  38.         /// 刪除分類  
  39.         /// 
  40.  
  41.         ///   
  42.         public void Remove(int id)  
  43.         {  
  44.             return;  
  45.         }  
  46.  
  47.         ///   
  48.         /// 取得某個(gè)分類詳細(xì)信息  
  49.         /// 
  50.  
  51.         ///   
  52.         ///   
  53.         public CategoryInfo GetDetail(int id)  
  54.         {  
  55.             return new CategoryInfo  
  56.             {  
  57.                 ID = id,  
  58.                 Name = "***通告",  
  59.             };  
  60.         }  
  61.  
  62.         ///   
  63.         /// 取得所有分類  
  64.         /// 
  65.  
  66.         ///   
  67.         public List  GetAll()  
  68.         {  
  69.             List  categories =  new List ();  
  70.             for (int i = 1; i <= 5; i++)  
  71.             {  
  72.                 CategoryInfo category = new CategoryInfo  
  73.                 {  
  74.                     ID = i,  
  75.                     Name="通告類別"+i,  
  76.                 };  
  77.  
  78.                 categories.Add(category);  
  79.             }  
  80.  
  81.             return categories;  
  82.         }  
  83.     }  
  84. }  
  85.  

MockAnnounceService.cs

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using MVCDemo.Models.Interfaces;  
  6. using MVCDemo.Models.Entities;  
  7.  
  8. namespace MVCDemo.Models.MockModels  
  9. {  
  10.     ///   
  11.     /// “欺騙”服務(wù)組件,用于模擬公告的業(yè)務(wù)服務(wù)  
  12.     /// 
  13.  
  14.     public class MockAnnounceService : IAnnounceService  
  15.     {  
  16.         ///   
  17.         /// 發(fā)布公告  
  18.         /// 
  19.  
  20.         ///   
  21.         public void Release(AnnounceInfo announce)  
  22.         {  
  23.             throw new Exception("發(fā)布公告失敗了!原因?沒有原因!我是業(yè)務(wù)組件,我說失敗就失??!");  
  24.             return;  
  25.         }  
  26.  
  27.         ///   
  28.         /// 修改公告信息  
  29.         /// 
  30.  
  31.         ///   
  32.         public void Notify(AnnounceInfo announce)  
  33.         {  
  34.             return;  
  35.         }  
  36.  
  37.         ///   
  38.         /// 刪除公告  
  39.         /// 
  40.  
  41.         ///   
  42.         public void Remove(int id)  
  43.         {  
  44.             return;  
  45.         }  
  46.  
  47.         ///   
  48.         /// 取得公告詳細(xì)內(nèi)容  
  49.         /// 
  50.  
  51.         ///   
  52.         ///   
  53.         public AnnounceInfo GetDetail(int id)  
  54.         {  
  55.             return new AnnounceInfo  
  56.             {  
  57.                 ID = id,  
  58.                 Title = "第" + id + "則公告",  
  59.                 Content = "全體同學(xué)明早九點(diǎn)集體做俯臥撐!",  
  60.             };  
  61.         }  
  62.  
  63.         ///   
  64.         /// 取得某個(gè)分類下的所有公告  
  65.         /// 
  66.  
  67.         ///   
  68.         ///   
  69.         public List  GetByCategory(CategoryInfo category)  
  70.         {  
  71.             List  announces =  new List ();  
  72.             for (int i = 1; i <= 10; i++)  
  73.             {  
  74.                 AnnounceInfo announce = new AnnounceInfo  
  75.                 {  
  76.                     ID = i,  
  77.                     Title = category.Name+ "的第" + i + "則公告",  
  78.                     Content = "全體同學(xué)明早九點(diǎn)集體做俯臥撐!",  
  79.                 };  
  80.  
  81.                 announces.Add(announce);  
  82.             }  
  83.  
  84.             return announces;  
  85.         }  
  86.     }  
  87. }  
  88.  

可以看到,這兩個(gè)類并沒有訪問數(shù)據(jù)庫(kù),也沒有實(shí)現(xiàn)真正的業(yè)務(wù)邏輯,而不過是“捏造”了一些數(shù)據(jù)騙騙我們的表示層而已。

***,我們要建立一個(gè)生成業(yè)務(wù)邏輯模型的生成器,用來實(shí)現(xiàn)表示層和業(yè)務(wù)邏輯層的解耦。當(dāng)然,為了簡(jiǎn)化復(fù)雜度,這里沒有使用依賴注入機(jī)制。下面是我們生成器的代碼,這個(gè)類是直接放在Models下的。

ServiceBuilder.cs:

 
 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using MVCDemo.Models.Interfaces;  
  6. using MVCDemo.Models.MockModels;  
  7.  
  8. namespace MVCDemo.Models  
  9. {  
  10.     ///   
  11.     /// 服務(wù)組件生成類,用于生成業(yè)務(wù)服務(wù)組件  
  12.     /// 
  13.  
  14.     public sealed class ServiceBuilder  
  15.     {  
  16.         ///   
  17.         /// 創(chuàng)建分類服務(wù)組件  
  18.         /// 
  19.  
  20.         ///  分類服務(wù)組件  
  21.         public static ICategoryService BuildCategoryService()  
  22.         {  
  23.             return new MockCategoryService();  
  24.         }  
  25.  
  26.         ///   
  27.         /// 創(chuàng)建公告服務(wù)組件  
  28.         /// 
  29.  
  30.         ///  公告服務(wù)組件  
  31.         public static IAnnounceService BuildAnnounceService()  
  32.         {  
  33.             return new MockAnnounceService();  
  34.         }  
  35.     }  
  36. }  
  37.  

OK,到這里,我們的準(zhǔn)備工作就做完了。完成這些后,系統(tǒng)的目錄結(jié)構(gòu)如下圖所示:

在這篇文章中,我們只是講了一下這個(gè)系列文章要做什么,以及為案例做了一些準(zhǔn)備工作。從下篇開始,我們將繼續(xù)通過asp.net.mvc教程(二)介紹如何正式開始使用asp.net.mvc完成這個(gè)案例。


網(wǎng)頁(yè)題目:ASP.NETMVC教程(一):準(zhǔn)備工作
新聞來源:http://www.5511xx.com/article/ccciooo.html