故事启发人生思维 發表於 2021-8-31 14:25:00

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

<h2 id="ycboilerplate-框架介绍">YC.Boilerplate 框架介绍</h2>
<p>YC.Boilerplate 是一套快速开发框架,采用当下流行的前后端分离开发模式,前端 采用VUE、后端采用Net 5.0;框架实现了 多租户、动态webApi、多种ORM、IOC、数据库表和业务代码生成等等一系列模块,并开发了用户管理、角色权限、组织机构、 数据字典、审计日志等常规功能,前后端代码一键生成。</p>
<p>框架的宗旨:构建一套松耦合、灵活组合、功能齐全、开发便捷、减少开发工作量的样板化开发框架。</p>
<p>在线文档:http://doc.yc-l.com/#/README<br>
在线演示地址:http://yc.yc-l.com/#/login<br>
源码github:https://github.com/yc-l/yc.boilerplate<br>
源码gitee:https://gitee.com/yc-power/yc.boilerplate<br>
元磁之力框架技术群QQ:1060819005</p>
<p>视频教程:<br>
元磁之力框架开源初心和框架设计介绍(上): https://www.bilibili.com/video/BV1VM4y1G7hC/<br>
元磁之力框架开源初心和框架设计介绍(下): https://www.bilibili.com/video/BV15h411s7w6/<br>
元磁之力框架数据库表和代码生成使用教程实战: https://www.bilibili.com/video/BV1oM4y137D5/</p>
<p>后续:关于框架demo和细节技巧,会在QQ群中发布,就不撰文说明。</p>
<h2 id="框架技术栈和开发模式">框架技术栈和开发模式</h2>
<ul>
<li>开发模式:当下流行的前后端分离。</li>
<li>前端:vue、elementUI等技术栈,为单页面应用程序提供了项目模板。</li>
<li>后端采用NET 5.0。</li>
</ul>
<h2 id="框架特点">框架特点</h2>
<ul>
<li>模块化开发,灵活组合,将解耦进行到底,按需注入使用。</li>
<li>当下流行的开发模式,分层明确。</li>
<li>配合框架自带代码生成器快速完成CRUD和树形等复杂功能逻辑实现,不敲一行代码,节省60%工作量。</li>
</ul>
<h2 id="框架分层介绍">框架分层介绍</h2>
<ul>
<li>核心层:<code>YC.Core</code> 主要实现顶层设计类接口规范和一些类的封装,比如:租户接口、AopInterceptor AOP 拦截注入、TokenContext token逻辑、公共特性等等。</li>
<li>数据层:<code>YC.DapperFrameWork</code>、<code>YC.FreeSqlFrameWork</code> 多项ORM 封装,主要存在仓储、工作单元等。</li>
<li>公共层:<code>YC.Common</code> 主要是各种公共类的使用。</li>
<li>业务服务层:<code>YC.ApplicationService</code> 业务逻辑实现,默认实现动态webapi。</li>
<li>实体层:<code>YC..Model</code> 常规的数据表实体,枚举等,以及常规的model需要用的基础方法。</li>
<li>业务Api层:<code>YC.ServiceWebApi</code> 提供对外接口服务启动项目。</li>
</ul>
<blockquote>
<p>模块层(按需使用)</p>
</blockquote>
<ul>
<li>数据库表和代码生成模块:<code>YC.CodeGenerate</code></li>
<li>Redis 缓存模块:<code>YC.Cache.Redis</code></li>
<li>动态WebApi模块:<code>YC.Core.DynamicApi</code></li>
<li>日志模块:<code>YC.Log.Serilog</code></li>
<li>定时服务 <code>Quartz.net YC.QuartzService</code></li>
<li>Mongodb 模块 <code>YC.MongoDB</code></li>
<li>图数据库Neo4j <code>YC.Neo4j</code></li>
</ul>
<blockquote>
<p>单元测试</p>
</blockquote>
<p>微软自带单元测试:<code>UnitTestProject</code><br>
数据库表和代码生成测试:<code>YC.CodeGenerateTest</code><br>
其他各个模块配套的单元测试:<code>YC.QuartzTest</code>、<code>YC.MongoDbXUnitTest</code>、<code>YC.Neo4jXUnitTest</code></p>
<h2 id="框架功能模块">框架功能模块</h2>
<p><img src="https://img2020.cnblogs.com/blog/580722/202109/580722-20210919200810914-947924452.png" alt="" loading="lazy"></p>
<h2 id="框架特性">框架特性</h2>
<ol>
<li>基于最新的.NET技术 NET 5.0。</li>
<li>实现领域驱动设计(实体、仓储、领域服务、领域事件、应用服务、数据传输对象,工作单元等等)。</li>
<li>实现分层体系结构(领域层,应用层,展现层和基础设施层)。</li>
<li>提供了一个基础架构来开发可重用可配置的模块。</li>
<li>集成一些最流行的开源框架/库,也许有些是你正在使用的。</li>
<li>提供了一个基础架构让我们很方便地使用依赖注入(使用Autofac作为依赖注入的容器)。</li>
<li>提供Repository仓储模式支持不同的ORM(已实现dapperFramework 、freesqlFrameWork、Redis等)。</li>
<li>支持并实现数据库迁移(采用自由映射Table )。</li>
<li>模块化开发(每个模块有独立的采用autofac模块注入形式,根据不同业务可以动态切换指定数据库)。</li>
<li>统一的异常处理(应用层几乎不需要处理自己写异常处理代码)。</li>
<li>通过Application Services自动创建Web Api层(不需要写ApiController层了)。</li>
<li>提供基类和帮助类让我们方便地实现一些常见的任务。</li>
<li>使用“约定优于配置原则”。</li>
<li>实现多租户,按照不同的租户分库服务端。</li>
<li>实现了基于表模型生成对应的全流程代码,包括:model、DTO、Service、前端展示界面(常规CRUD和树形功能)、路由规则、Mapper model和Dto映射等代码。</li>
<li>框架已经实现常规基础功能,如:身份验证用户&amp;角色管理、系统设置、存取管理(系统级、租户级、用户级,作用范围自动管理)、审计日志(自动记录每一次接口的调用者和参数)、组织机构等,实现框架开箱即用。</li>
<li>框架采用redis 作为cache和session 存储,脱离cookie 使用,解决非web的等也可以使用框架进行多样的场景需求改造。</li>
</ol>
<h2 id="项目界面展示">项目界面展示</h2>
<p><img src="https://img2020.cnblogs.com/blog/580722/202109/580722-20210919193038611-585476932.png" alt="" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202109/580722-20210919193207124-2049708724.png" alt="" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143028078-995325600.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143033040-998073910.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143109324-137199507.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143115108-835856288.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143121355-196493283.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143127127-954708859.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143131416-1749677366.png" alt="image" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/580722/202108/580722-20210831143137511-43096158.png" alt="image" loading="lazy"></p>


</div>
<div id="MySignature" role="contentinfo">
    笔者原创!如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载请添加原博客连接,否则保留追究法律责任的权利,谢谢!

YC.Boilerplate 快速开发框架交流,请加群:1060819005

区块链交流请加QQ群:538327407(已满),群2:135019400.

我的博客地址:http://www.cnblogs.com/linbin524/<br><br>
来源:https://www.cnblogs.com/linbin524/p/15210147.html
頁: [1]
查看完整版本: 第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍