.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; }
}
分层,最基础的是三层,层次再多,也是根据三层发展的。至于其他的分层,以及使用,个人有个人的看法。这里就不多做赘述了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构