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();
        }

    }

     
     
     
  • 相关阅读:
    Blank page instead of the SharePoint Central Administration site
    BizTalk 2010 BAM Configure
    Use ODBA with Visio 2007
    Handling SOAP Exceptions in BizTalk Orchestrations
    BizTalk与WebMethods之间的EDI交换
    Append messages in BizTalk
    FTP protocol commands
    Using Dynamic Maps in BizTalk(From CodeProject)
    Synchronous To Asynchronous Flows Without An Orchestration的简单实现
    WSE3 and "Action for ultimate recipient is required but not present in the message."
  • 原文地址:https://www.cnblogs.com/sdl1305702018/p/7063884.html
Copyright © 2011-2022 走看看