Document

.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; }
}

 

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

 

posted @   从未被超越  阅读(1660)  评论(1编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

微信打赏