摘要
using System;
using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCDemo.Models.Entities { /// <summary> /// 分类实体类 /// </summary> public class CategoryInfo { public int ID { get; set; } public string Name { get; set; } } }
using System;
using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCDemo.Models.Entities { /// <summary> /// 公告实体类 /// </summary> public class AnnounceInfo { public int ID { get; set; } public string Title { get; set; } public string Content { get; set; } public int Category { get; set; } } }
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using MVCDemo.Models.Entities; namespace MVCDemo.Models.Interfaces { /// <summary> /// 分类服务组件接口 /// </summary> public interface ICategoryService { /// <summary> /// 添加分类 /// </summary> /// <param name="category"></param> void Add(CategoryInfo category); /// <summary> /// 修改分类名称 /// </summary> /// <param name="id"></param> /// <param name="name"></param> void ChangeName(int id,string name); /// <summary> /// 删除分类 /// </summary> /// <param name="id"></param> void Remove(int id); /// <summary> /// 取得某个分类详细信息 /// </summary> /// <param name="id"></param> /// <returns></returns> CategoryInfo GetDetail(int id); /// <summary> /// 取得所有分类 /// </summary> /// <returns></returns> List<CategoryInfo> GetAll(); } }
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using MVCDemo.Models.Entities; namespace MVCDemo.Models.Interfaces { /// <summary> /// 公告服务组件接口 /// </summary> public interface IAnnounceService { /// <summary> /// 发布公告 /// </summary> /// <param name="announce"></param> void Release(AnnounceInfo announce); /// <summary> /// 修改公告信息 /// </summary> /// <param name="announce"></param> void Notify(AnnounceInfo announce); /// <summary> /// 删除公告 /// </summary> /// <param name="id"></param> void Remove(int id); /// <summary> /// 取得公告详细内容 /// </summary> /// <param name="id"></param> /// <returns></returns> AnnounceInfo GetDetail(int id); /// <summary> /// 取得某个分类下的所有公告 /// </summary> /// <param name="categoryId"></param> /// <returns></returns> List<AnnounceInfo> GetByCategory(CategoryInfo category); } }
using System;
using System.Collections.Generic; using System.Linq; using System.Web; using MVCDemo.Models.Interfaces; using MVCDemo.Models.Entities; namespace MVCDemo.Models.MockModels { /// <summary> /// “欺骗”服务组件,用于模拟分类的业务服务 /// </summary> public class MockCategoryService : ICategoryService { /// <summary> /// 添加分类 /// </summary> /// <param name="category"></param> public void Add(CategoryInfo category) { return; } /// <summary> /// 修改分类名称 /// </summary> /// <param name="id"></param> /// <param name="name"></param> public void ChangeName(int id, string name) { return; } /// <summary> /// 删除分类 /// </summary> /// <param name="id"></param> public void Remove(int id) { return; } /// <summary> /// 取得某个分类详细信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public CategoryInfo GetDetail(int id) { return new CategoryInfo { ID = id, Name = "最新通告", }; } /// <summary> /// 取得所有分类 /// </summary> /// <returns></returns> public List<CategoryInfo> GetAll() { List<CategoryInfo> categories = new List<CategoryInfo>(); for (int i = 1; i <= 5; i++) { CategoryInfo category = new CategoryInfo { ID = i, Name="通告类别"+i, }; categories.Add(category); } return categories; } } }
using System;
using System.Collections.Generic; using System.Linq; using System.Web; using MVCDemo.Models.Interfaces; using MVCDemo.Models.Entities; namespace MVCDemo.Models.MockModels { /// <summary> /// “欺骗”服务组件,用于模拟公告的业务服务 /// </summary> public class MockAnnounceService : IAnnounceService { /// <summary> /// 发布公告 /// </summary> /// <param name="announce"></param> public void Release(AnnounceInfo announce) { throw new Exception("发布公告失败了!原因?没有原因!我是业务组件,我说失败就失败!"); return; } /// <summary> /// 修改公告信息 /// </summary> /// <param name="announce"></param> public void Notify(AnnounceInfo announce) { return; } /// <summary> /// 删除公告 /// </summary> /// <param name="id"></param> public void Remove(int id) { return; } /// <summary> /// 取得公告详细内容 /// </summary> /// <param name="id"></param> /// <returns></returns> public AnnounceInfo GetDetail(int id) { return new AnnounceInfo { ID = id, Title = "第" + id + "则公告", Content = "全体同学明早九点集体做俯卧撑!", }; } /// <summary> /// 取得某个分类下的所有公告 /// </summary> /// <param name="categoryId"></param> /// <returns></returns> public List<AnnounceInfo> GetByCategory(CategoryInfo category) { List<AnnounceInfo> announces = new List<AnnounceInfo>(); for (int i = 1; i <= 10; i++) { AnnounceInfo announce = new AnnounceInfo { ID = i, Title = category.Name+ "的第" + i + "则公告", Content = "全体同学明早九点集体做俯卧撑!", }; announces.Add(announce); } return announces; } } }
using System;
using System.Collections.Generic; using System.Linq; using System.Web; using MVCDemo.Models.Interfaces; using MVCDemo.Models.MockModels; namespace MVCDemo.Models { /// <summary> /// 服务组件生成类,用于生成业务服务组件 /// </summary> public sealed class ServiceBuilder { /// <summary> /// 创建分类服务组件 /// </summary> /// <returns>分类服务组件</returns> public static ICategoryService BuildCategoryService() { return new MockCategoryService(); } /// <summary> /// 创建公告服务组件 /// </summary> /// <returns>公告服务组件</returns> public static IAnnounceService BuildAnnounceService() { return new MockAnnounceService(); } } }
小结 在这篇文章中,我们只是讲了一下这个系列文章要做什么,以及为案例做了一些准备工作。从下篇开始,我们将正式开始使用ASP.NET MVC完成这个案例。 |
|