• 1、框架内各项目及目录的介绍和总设计思路——SnailAspNetCoreFramework快速开发框架


    项目目录介绍

    --ApplicationCore // 核心抽象层,采用clear architecture模式,不依赖于其它层,其它三个项目都依赖此类库,负责接口、常量、枚举、dto、实体等公共定义
    ----Const // 常量定义,如配置常量,事件名常量
    ----Dtos // 所有的dto
    ----Entities // 所有实体
    ----Enums // 枚举
    ----IServices // Service层的抽象定义
    ----Utilities // 帮助类

    --Infrastructure // 基础设施层,为上层(如服务层及应用层)提供数据服务。
    ----Data/config // 数据库entityframework fluent api配置
    ----EFValueConverter // entityframework的数据库类型和clr类型的转换,如枚举转换
    ----Migrations //为entityframework code first的migrate生成目录

    --Service // 服务层,用于实现ApplicationCore里的服务接口,为应用的逻辑实现的主层
    ----Cache // 缓存实现,后面会移除并抽离到Snail项目
    ----Interceptor // 默认实现的拦截器
    ----BaseService.cs // 各service的基类,包含了各service的常用方法,如CRUD
    ----InitDatabaseService.cs // 负责数据库的数据初始化
    ----InterceptorService.cs // 拦截器基类

    --Web // 负责接口参数的输入及输出的所有相关处理(如参数校验,输出格式预定等)
    ----AutoFacModule // autofac的注入配置
    ----AutoMapperProfiles // automapper的配置
    ----ClientApp // 前端项目
    ------build // 前端编译生成的输出目录
    ------mock // 前端mock
    ------src // 前端核心代码
    ----CodeGenerater // 代码生成的t4模块和相关逻辑
    ----ConfigureServicesExtenssions // serviceProvider的注入扩展,以避免写在startup文件里
    ----Controllers // 控制器
    ----docs // 文档集
    ----Dto // 只会在web层里用到的dto类
    ----Filter // 过滤器
    ----Hubs // signalr
    ----Permission // 权限的默认实现
    ----staticFile // 用于存储上传的文件

  • 相关阅读:
    CENTOS安装部署zabbix
    分解XML方法
    Git使用摘要
    POJ 1274 The Perfect Stall 水二分匹配
    [leetcode]Pascal's Triangle II
    swift学习笔记(六)析关闭过程和使用分配给属性的默认值
    Qt学习一门:直接使用QT具
    mybatis13 resultMap
    mybatis12 Usermapper.xml
    mybatis11 sqlMapConfig.xml文件说明
  • 原文地址:https://www.cnblogs.com/shengyu-kmust/p/13453773.html
Copyright © 2020-2023  润新知