.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; } }
分层,最基础的是三层,层次再多,也是根据三层发展的。至于其他的分层,以及使用,个人有个人的看法。这里就不多做赘述了。