接下来,将进行接口的设计。这里包括数据访问层接口和业务逻辑层接口。在分层架构中,接口扮演着非常重要的角色,它不但直接决定了各层中的各个操作类需要实现何种操作,而且它明确了各个层次的职责。接口也是系统实现依赖注入机制不可缺少的部分。
本项目的接口设计将按如下顺序进行:1.首先由前文的需求分析,列出主要的UI部分。2.分析各个UI需要什么业务逻辑支持,从而确定业务逻辑层接口。3.分析业务逻辑层接口需要何种数据访问操作,从而确定数据访问层接口。IAnnounceService接口:
用于发布公告时
using System;
using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using 排球队伍公告信息.Models.Entities;namespace 排球队伍公告信息.Models.Interfaces
{ 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); }}ICategoryService接口
用于公告发布后
using System;
using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using 排球队伍公告信息.Models.Entities;namespace 排球队伍公告信息.Models.Interfaces
{ 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(); }}