zoukankan      html  css  js  c++  java
  • 排球计分程序(六)——接口的设计与实现

    接下来,将进行接口的设计。这里包括数据访问层接口和业务逻辑层接口。在分层架构中,接口扮演着非常重要的角色,它不但直接决定了各层中的各个操作类需要实现何种操作,而且它明确了各个层次的职责。接口也是系统实现依赖注入机制不可缺少的部分。

    本项目的接口设计将按如下顺序进行:
    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();
        }

    }

     
     
     
  • 相关阅读:
    Linq 中 表连接查询
    Html Div 拖拽
    持续集成:TestNG中case之间的关系
    测试技术培训:如何测试磁盘写的速度
    POPTEST 测试开发 免费培训课程报名
    接上文 下面是一段示例代码
    老李分享:android手机测试之适配(1)
    (转)POPTEST创始人李爱然:谢谢,帮助我的朋友!!!!
    性能调优之SQL优化
    大数据测试之Hadoop的基本概念
  • 原文地址:https://www.cnblogs.com/sdl1305702018/p/7063884.html
Copyright © 2011-2022 走看看