zoukankan      html  css  js  c++  java
  • .Net Core3.0 WebApi 五:项目分层

    .Net Core3.0 WebApi 项目框架搭建:目录

    理论介绍

    仓储(Respository)是存在于工作单元和数据库之间单独分离出来的一层,是对数据访问的封装。其优点:

    1)业务层不需要知道它的具体实现,达到了分离关注点。

    2)提高了对数据库访问的维护,对于仓储的改变并不会改变业务的逻辑,数据库可以用Sql Server、MySql等

    基本项目架构

     Infrastructure

     基础设施层。一些数据库的配置,帮助了,都放在这里。

    Common

     一些公共方法,比如一些扩展方法,放在这里。

    Models

     一些,枚举,请求实体,响应实体,SQLsugar的表实体,都放在这里。

    因为在前端接口中,需要固定的格式,以及操作,不能把数据直接发出去。请求实体,响应实体,基础封装,如下:

    public class PageRequest<T> where T : class
    {
        /// <summary>
        /// 当前页
        /// </summary>
        public int PageIndex { get; set; } = 1;
    
        /// <summary>
        /// 一页条数
        /// </summary>
        public int PageSize { get; set; } = 10;
    
        /// <summary>
        /// 请求参数
        /// </summary>
        public T Data { get; set; }
    }

    public class BaseResponse
    {
    /// <summary>
    /// 是否成功
    /// </summary>
    public bool IsSuccess { get; set; } = true;

    /// <summary>
    /// 返回消息
    /// </summary>
    public string Msg { get; set; } = "";
    }

    public class BaseResponse<T> : BaseResponse where T : class
    {
    /// <summary>
    /// 返回实体
    /// </summary>
    public T Data { get; set; }
    }

    public class PageResponse<T>: BaseResponse where T : class
    {
    /// <summary>
    /// 总记录条数
    /// </summary>
    public int Total { get; set; }

    /// <summary>
    /// 响应数据
    /// </summary>
    public List<T> Data { get; set; }
    }

    分层,最基础的是三层,层次再多,也是根据三层发展的。至于其他的分层,以及使用,个人有个人的看法。这里就不多做赘述了。

  • 相关阅读:
    观察者模式
    hdu 4712 Hamming Distance bfs
    leetcode Sum Root to Leaf Numbers(所有路径之和)
    Oracle实用-01:绑定变量
    jQuery实现AJAX定时刷新局部页面实例
    给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化
    jquery的ajax同步和异步
    报表技术
    告别.NET生成报表统计图的烦恼
    浅谈ASP.NET报表控件
  • 原文地址:https://www.cnblogs.com/zxtceq/p/14119849.html
Copyright © 2011-2022 走看看