simpleapp是基于ASP.NET Core 6.0 的简单三层应用。
前后端分离,使用 JWT 认证。
后端:基于 .NET6 和 EF Core,集成常用组件。
前端:基于 小诺1.8 做适配,主技术栈:Vue2.6.x、Ant-Design-Vue
基本设计思路
依赖于抽象
依赖倒置原则,控制反转(IoC)
切面编程(AOP)
权限、日志、异常等通过过滤器(Filter)或中间件(Middleware)等实现,集中编程
可配置
自动注册
自动注册实体(Entity)、自动注册服务类(Service)等
项目结构
项目结构构思
主要分为三层:Interface表现层、Services服务层、Repository仓储层
Interface:Host依赖所有层,完成程序配置(如:Program.cs 中DI容器注入服务,中间件管道配置等);Web API 配置路由,提供 API 接口,如果程序以后有迁移、或替换前端的情况,也可以在这里做一层适配器(注:API只是一种表现形式,也可以为MVC)
Services:所有的业务都在这一层。从仓储中读取数据模型(Models),进行业务操作,返回DTO(Data transfer objects)给表现层。
Repository:数据库访问。
通用的模块:Model、Common、Framework
Models:包含所有数据模型,如 Entity(对象数据库的数据表)、CacheItem缓存对象、EventModel事件模型等。
Common:集成常用组件,根据项目需要做相应配置;提供基础服务,如CurrentUser访问当前用户信息;提供静态帮助类,所有无状态的函数都归入此类,如GuidHelper.Next() 产生连续 Guid。
Framework:框架,比如引用ABP或Furion等框架,甚至是自己项目一些通用的能力,可以到处用的。
实际项目结构
实际上,把 IServices 和 IRepository 此类接口层干掉了。
Models 则归入了对应的使用者里面,Framework 也没有。
Common # 基础设施:集成常用组件;提供基础服务;提供静态帮助类 Repository # 仓储层:数据库访问,数据库迁移 Services # 服务层:业务实现 WebApi # 表现层:完成程序配置;配置路由,提供API接口
目录结构如下,更详细的结构,请查看文档。
├─config # 一些配置文件,如:redis 的配置文件 ├─doc # 项目文档 ├─web # 前端 ├─webapi # 后端 ├─Simple.Common # 基础设施 ├─Simple.Repository # 仓储层 ├─Simple.Services # 服务层 └─Simple.WebApi # 表现层
标签:
simpleappv6.0 源码链接:https://www.hycodes.cn/cjkz/1825.html
下载说明:本站部分资源供学习交流使用,如商业用途,请购正版。
上一篇:yunzai-js插件