.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; }
}
PageRequest
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; }
}
BaseResponse
public class PageResponse<T>: BaseResponse where T : class
{
    /// <summary>
    /// 总记录条数
    /// </summary>
    public int Total { get; set; }

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

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

原文地址:https://www.cnblogs.com/taotaozhuanyong/p/13793660.html