第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍
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.DapperFrameWork、YC.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
框架功能模块

框架特性
- 基于最新的.NET技术 NET 5.0。
- 实现领域驱动设计(实体、仓储、领域服务、领域事件、应用服务、数据传输对象,工作单元等等)。
- 实现分层体系结构(领域层,应用层,展现层和基础设施层)。
- 提供了一个基础架构来开发可重用可配置的模块。
- 集成一些最流行的开源框架/库,也许有些是你正在使用的。
- 提供了一个基础架构让我们很方便地使用依赖注入(使用Autofac作为依赖注入的容器)。
- 提供Repository仓储模式支持不同的ORM(已实现dapperFramework 、freesqlFrameWork、Redis等)。
- 支持并实现数据库迁移(采用自由映射Table )。
- 模块化开发(每个模块有独立的采用autofac模块注入形式,根据不同业务可以动态切换指定数据库)。
- 统一的异常处理(应用层几乎不需要处理自己写异常处理代码)。
- 通过Application Services自动创建Web Api层(不需要写ApiController层了)。
- 提供基类和帮助类让我们方便地实现一些常见的任务。
- 使用“约定优于配置原则”。
- 实现多租户,按照不同的租户分库服务端。
- 实现了基于表模型生成对应的全流程代码,包括:model、DTO、Service、前端展示界面(常规CRUD和树形功能)、路由规则、Mapper model和Dto映射等代码。
- 框架已经实现常规基础功能,如:身份验证用户&角色管理、系统设置、存取管理(系统级、租户级、用户级,作用范围自动管理)、审计日志(自动记录每一次接口的调用者和参数)、组织机构等,实现框架开箱即用。
- 框架采用redis 作为cache和session 存储,脱离cookie 使用,解决非web的等也可以使用框架进行多样的场景需求改造。
第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍的更多相关文章
- 第十二章 Net 5.0 快速开发框架 YC.Boilerplate --千万级数据处理解决方案
在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...
- 第十一章 Net 5.0 快速开发框架 YC.Boilerplate --图数据库模块Neo4j
在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...
- 第九章 Net 5.0 快速开发框架 YC.Boilerplate --定时服务 Quartz.net
在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...
- C# 快速开发框架搭建—开发工具介绍
C# 快速开发框架搭建—开发工具介绍 一.VS2013,SQL SERVER R22008 以上两种工具如有不会者自行百度学习下. 二.动软代码生成器 对于经典的三层架构框架来说,使用动软代码生成器会 ...
- 第一章 使用开发者模式快速入门 Odoo 12
本文为最好用的免费ERP系统Odoo 12开发手册系列文章第一篇. Odoo提供了一个快速应用开发框架,非常适合创建商业应用.这类应用通常用于保留业务记录,增删改查操作.Odoo 不仅简化了这类应用的 ...
- 第一章:Python基础の快速认识基本语法
本課主題 第一个 Hello World 程序实战 用户输入实战 模块介紹 变量介绍 格式化介紹 条件判断介紹和操作实战 for 循环介紹和操作实战 作业需求 Python 第一个 Hello Wor ...
- Rookey.Frame v1.0快速开发平台-整体介绍
Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...
- 第一章 搭建一个通用的.net core项目框架
项目目标部署环境:CentOS 7+ 项目技术点:.netcore2.0 + Autofac +webAPI + NHibernate5.1 + mysql5.6 + nginx 开源地址:https ...
- 《HiWind企业快速开发框架实战》(0)目录及框架简介
<HiWind企业快速开发框架实战>(0)目录及框架简介 本系列主要介绍一款企业管理系统快速开发框架,该框架旨在快速完成企业管理系统,并实现易维护可移植的目标. 使用逐个系统模块进行编码的 ...
随机推荐
- 一定要收藏的5个优秀的SpringCloud开源项目
上一期为大家推荐了几个前端模板,没看过的点下面 一定要收藏的5个后台管理系统的前端框架 今天再为大家推荐几个优秀的SpringCloud开源脚手架项目,开箱即用,不管是学习还是开发新项目,都非常不错. ...
- linux系统下操作mysql数据库常见命令
一. 备份数据库(如: test): ①可直接进入后台即可.(MySQL的默认目录:/var/lib/mysql ) ②输入命令: [root@obj mysql]# mysqldump -u roo ...
- centos 服务
1,开机开启服务 # chkconfig vsftpd on
- Kubernetes的基本概念和术语
Kubernetes中的大部分概念如Node.Pod.Replication Controller. Service等都可以被看作一种资源对象,几乎所有资源对象都可以通过 Kubernetes提供的k ...
- 比POSTMAN更好用!在国产接口调试工具APIPOST中使用Mock
APIPOST可以让你在没有后端程序的情况下能真实地返回接口数据,你可以用APIPOST实现项目初期纯前端的效果演示,也可以用APIPOST实现开发中的数据模拟从而实现前后端分离.在使用APIPOST ...
- Linux下的Vim文本编辑器(入门)
引言 vim filename:打开名为filename的文件,如果不存在就会创建一个filename文件 Vim的三种使用模式 1. 命令模式 启动Vim时,就进入了命令模式 在该模式下: i:切换 ...
- linux命令打基础
目录 一.shell概述 二.linux命令分类 三.linux命令行 3.1 格式 3.2 编辑Linux命令行 四.Linux基础命令 4.1 pwd:查看当前的工作目录 4.2 cd:切换工作目 ...
- Python中print()函数的用法
print()函数用于打印输出 1.函数语法: print(values,sep=' ',end='\n') sep和end是print()函数常用参数 参数sep是一次打印多个元素时的间隔符号,默认 ...
- burp暴力破解之md5和绕过验证码
Burpsuite是一个功能强大的工具,也是一个比较复杂的工具 本节主要说明一下burp的intruder模块中的2个技巧 1.md5加密 我们在payload Processing中的add选项可以 ...
- java使用Selenium操作谷歌浏览器学习笔记(三)键盘操作
我们用Selenium打开网页后,可能需要在输入框输入一些内容等等,这时候就需要键盘操作了 使用sendKEys进行键盘操作,在bing的搜索框中输入内容并点击跳转 1 import org.open ...