Net 5.0 快速开发框架 YC.Boilerplate--框架介绍

DotNetCore实战

共 2490字,需浏览 5分钟

 ·

2021-09-15 01:17


YC.Boilerplate 框架介绍

YC.Boilerplate 是一套快速开发框架,采用当下流行的前后端分离开发模式,前端 采用VUE、后端采用Net 5.0;框架实现了 多租户、动态webApi、多种ORM、IOC、数据库表和业务代码生成等等一系列模块,并开发了用户管理、角色权限、组织机构、 数据字典、审计日志等常规功能,前后端代码一键生成。

框架的宗旨:构建一套松耦合、灵活组合、功能齐全、开发便捷、减少开发工作量的样板化开发框架。

在线文档:http://doc.yc-l.com/#/README
在线演示地址:http://yc.yc-l.com/#/login
源码github:https://github.com/linbin524/yc.boilerplate
源码gitee:https://gitee.com/linxuanming/yc.boilerplate
元磁之力框架技术群QQ:1060819005

框架技术栈和开发模式

  • 开发模式:当下流行的前后端分离。

  • 前端:vue、elementUI等技术栈,为单页面应用程序提供了项目模板。

  • 后端采用NET 5.0。

框架特点

  • 模块化开发,灵活组合,将解耦进行到底,按需注入使用。

  • 当下流行的开发模式,分层明确。

  • 配合框架自带代码生成器快速完成CRUD和树形等复杂功能逻辑实现,不敲一行代码,节省60%工作量。

框架分层介绍

  • 核心层:YC.Core 主要实现顶层设计类接口规范和一些类的封装,比如:租户接口、AopInterceptor AOP 拦截注入、TokenContext token逻辑、公共特性等等。

  • 数据层:YC.DapperFrameWorkYC.FreeSqlFrameWork 多项ORM 封装,主要存在仓储、工作单元等。

  • 公共层:YC.Common 主要是各种公共类的使用。

  • 业务服务层:YC.ApplicationService 业务逻辑实现,默认实现动态webapi。

  • 实体层:YC..Model 常规的数据表实体,枚举等,以及常规的model需要用的基础方法。

  • 业务Api层:YC.ServiceWebApi 提供对外接口服务启动项目。

模块层(按需使用)

  • 数据库表和代码生成模块:YC.CodeGenerate

  • Redis 缓存模块:YC.Cache.Redis

  • 动态WebApi模块:YC.Core.DynamicApi

  • 日志模块:YC.Log.Serilog

单元测试

微软自带单元测试:UnitTestProject
数据库表和代码生成测试:YC.CodeGenerateTest

框架功能模块

框架特性

  1. 基于最新的.NET技术 NET 5.0。

  2. 实现领域驱动设计(实体、仓储、领域服务、领域事件、应用服务、数据传输对象,工作单元等等)。

  3. 实现分层体系结构(领域层,应用层,展现层和基础设施层)。

  4. 提供了一个基础架构来开发可重用可配置的模块。

  5. 集成一些最流行的开源框架/库,也许有些是你正在使用的。

  6. 提供了一个基础架构让我们很方便地使用依赖注入(使用Autofac作为依赖注入的容器)。

  7. 提供Repository仓储模式支持不同的ORM(已实现dapperFramework 、freesqlFrameWork、Redis等)。

  8. 支持并实现数据库迁移(采用自由映射Table )。

  9. 模块化开发(每个模块有独立的采用autofac模块注入形式,根据不同业务可以动态切换指定数据库)。

  10. 统一的异常处理(应用层几乎不需要处理自己写异常处理代码)。

  11. 通过Application Services自动创建Web Api层(不需要写ApiController层了)。

  12. 提供基类和帮助类让我们方便地实现一些常见的任务。

  13. 使用“约定优于配置原则”。

  14. 实现多租户,按照不同的租户分库服务端。

  15. 实现了基于表模型生成对应的全流程代码,包括:model、DTO、Service、前端展示界面(常规CRUD和树形功能)、路由规则、Mapper model和Dto映射等代码。

  16. 框架已经实现常规基础功能,如:身份验证用户&角色管理、系统设置、存取管理(系统级、租户级、用户级,作用范围自动管理)、审计日志(自动记录每一次接口的调用者和参数)、组织机构等,实现框架开箱即用。

  17. 框架采用redis 作为cache和session 存储,脱离cookie 使用,解决非web的等也可以使用框架进行多样的场景需求改造。

项目界面展示

笔者原创!如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载请添加原博客连接,否则保留追究法律责任的权利,谢谢!YC.Boilerplate 快速开发框架交流,请加群:1060819005 区块链交流请加QQ群:538327407(已满),群2:135019400. 我的博客地址:http://www.cnblogs.com/linbin524/


往期精彩回顾




【推荐】.NET Core开发实战视频课程 ★★★

.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划

【.NET Core微服务实战-统一身份认证】开篇及目录索引

Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南)

.NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了

10个小技巧助您写出高性能的ASP.NET Core代码

用abp vNext快速开发Quartz.NET定时任务管理界面

在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度

现身说法:实际业务出发分析百亿数据量下的多表查询优化

关于C#异步编程你应该了解的几点建议

C#异步编程看这篇就够了


浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报