前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >.NET 8来了,开发一套基于.NET 8的快速开发框架吧,就叫Simple

.NET 8来了,开发一套基于.NET 8的快速开发框架吧,就叫Simple

作者头像
郑子铭
发布于 2023-11-26 06:31:31
发布于 2023-11-26 06:31:31
1.8K0
举报

前言

.NET 8来了,开发一套基于.NET 8的快速开发框架吧,就叫Simple:https://gitee.com/VCodeWork/simple-framework

框架由来

为啥有了那么多开发框架,还得非要再搞个呢,大家都知道很多快速开发框架,啥ABP 啥水果啥的,怎么评价他们呢,就是一个字,叼!。

可是作为一个打工人,还不是公司用啥我用啥,公司不用ABP,你也不能老新建个项目就上ABP,上各种Orm吧,并且用ABP类的框架,还是需要些学习时间的,这些框架各种约定,各种快捷Api,各种一键生成了啥啥啥,好用吧,可是一但你公司不能用这些框架,你是不是抓瞎了,之前遇到个只用ABP的新同事,进公司要求只能用基于ASP.Net Core的框架和指定的一些类库,要他开发个文件上传的模块,用于客户服务器打开网页上传下数据库备份之类的文件到公司备份服务器做异地备份,硬是边看文档边搞了,干了2个周,说白了已经不知道ASP.Net Core是咋玩的了。

框架特点

由此我萌发了写个快速开发的框架,他需要有这些特点:

1、开发的框架基于 .NET 8 各种特性啥的尽量少,但是尽量方便点,比如实现自动注入

2、除非很需要,框架本身尽量少引用第三方库,但是又要方便后期添加需要用到的第三方库

3、需要有基本的授权、鉴权,免得每次都要去写这些通用的东西

4、需要实现一套 CRUD 实现,让大量curd解放,能快速生成,同时能方便使用代码生成器生成这一套东西

5、需要实现一套后台管理的前端,并实现基础页面,如登录、系统管理相关页面

规划

根据以上构想,做了一些规划:

1、使用 NLog 做日志库

2、使用 Redis 库 StackExchange.Redis

3、使用 Json 库 Newtonsoft.Json

4、使用 LitDb 轻量数据库做应用存储库

5、使用 MediatR 做应用内事件分发库

6、使用 EF Core做默认 Orm

7、使用 FluentScheduler 做定时任务模块

8、使用多Controller项目模块,支持让各自的api模块使用独立项目,比如AdminController使用一个项目,其他的又分别可以使用自己的项目

9、支持多数据库结构,可以让不同的业务范围使用不同的数据库,比如系统管理模块使用MSSQL DB1,业务模块 使用Mysql DB2

10、使用 Razor 做模板生成器引擎

话不多说,上图吧

添加基础库 Simple.Core 添加基础库 Simple.Core

基础库主要包含一些帮助类,用于方便开发的,和其他框架大同小异

Web项目扩展库 Simple.Core.Web

主要实现:

应用模块基类 SimpleModule,继承此模块基类可分模块开发,分模块按需注册、配置管道,配置模块初始化 自动注入,自动扫描标注了自动注入的任何类和实现,不包含一对多实现

鉴权基类控制器 AppAuthController

Curd控制器 AppCurdController

应用事件分发管理 AppDomainEventDispatcher

简单主机 SimpleHost ,该类用于一键启动按默认配置好服务的 web主机、控制台主机

其他web类,jwt相关,异常和鉴权相关

主机扩展类 HostServiceExtension 里面包含各种服务注册、获取,模块注册,权限自动生成的方法

EFCore 扩展库 Simple.EntityFrameworkCore

主要实现:

DbContext基类 AppDbContext

Curd 实现类 BaseCurdService

Ef日志记录 EFLoggerFactory

代码生成器 Simple.Generator

基于Razor 模板引擎类RazorLight的封装

定时任务 Simple.Job

基于 FluentScheduler 封装的自动注册任务,实现任务自动注册,配置基类用于可使每个任务能单独配置执行调度器

以上就是整个框架的封装,够简单吧,是不是感觉啥都没有用,就这么点东西已经完成了我上面构想的支撑!

下面大家看下admin模块和common模块,分别都能实现自动注入、定时任务、自动生成各自的数据库及数据初始化、领域事件处理,顺带说下,不管是控制台应用的主机还是webapi的主机,里面的模块都可使用构造函数注入哦

看admin控制器项目及主机启动,后面加业务控制器啥的,直接新建项目就行,控制台主机也自动支持了自动注入啥的,开发服务啊啥的都可以重复使用上面Applications下的任意实现

WebHost 主机项目

启动 WebHost 主机

看控制台项目

启动控制台主机

悄悄说下,还适配了一套基于vue2 elementui前端页面,已完成登录,菜单、角色、角色授权、用于管理哦

对了,注意配置文件的开发和发布隔离哦

好了,用最简单的东西实现了大多数项目业务都能搞定的框架了吧,如果对你有用,记得 点我Star 哦,初步版本已提交,有时间会持续优化,代码生成器还有一丢丢没搞玩,其他都差不多了,需要的看代码去吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
今天大姚给大家分享一套基于.NET 8.0 + LayUI的快速开发框架,项目完全开源、免费(MIT License)且开箱即用:WaterCloud。
追逐时光者
2024/09/26
2680
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
选择一款全面且功能强大的快速开发框架能够帮助我们解决C#、.NET项目中的很多重复工作,从而提高开发生产效率、避免工作996。今天大姚给大家分享10个.NET开源、免费、功能强大的快速开发框架,同学们可以按需选择适合自己的框架进行开发(注意,以下排名不分先后)。
追逐时光者
2024/11/10
2300
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
提升生产力:8个.NET开源且功能强大的快速开发框架
今天大姚给大家分享8个.NET开源、免费、功能强大的快速开发框架。助你提高开发生产效率、避免996!!!
追逐时光者
2024/09/12
3330
提升生产力:8个.NET开源且功能强大的快速开发框架
SpringBoot通用快速开发框架
嘿 all: 1、好久没更新文章了,今天 给大家分享一个从某宝购买的SpringBoot通用快速开发框架。
猿码优创
2019/07/27
1.4K0
.NET 8 AOT编译的辅助项目,让你的任何可执行应用快速部署为服务
不知道大家有没有和小编一样,很多时候想将自己的一些应用转为服务运行,比如一些控制台应用或者.NET Core应用,但是又不想重新编码,把他们转为服务,本文将给大家提供些我使用过的方法,并提供一个基于.NET8 AOT编译的辅助项目的封装工具构建方法,快来看看https://gitee.com/VCodeWork/simple-framework
郑子铭
2023/12/13
8740
.NET 8 AOT编译的辅助项目,让你的任何可执行应用快速部署为服务
【程序源代码】Springboot Web快速开发框架
今天给大家带来一套《Springboot WEB 快速开发框架》源码;我想对于Springboot 大家可能也听说过,或者看过它的一些东西。对于熟悉JAVA开发的同学来说,大家应该都听过大名鼎鼎的Spring,Springboot 确实也和它有些渊源,但它们俩没有直接关系。这个平台学习和使用比较适合于想学Springboot的同学,但要求也要有一些java 开发方面的基础,如果没有JAVA方面基础的同学,学习起来会可以比较吃力。如果想学JAVA大家也可以在网上找到很多相关的课程。
程序源代码
2020/03/19
8560
【程序源代码】Springboot Web快速开发框架
.NET Core/.NET5/.NET6 开源项目汇总5:(权限)管理系统项目
企业管理系统一般包含后台管理UI、组织机构管理、权限管理、日志、数据访问、表单、工作流等常用必备功能。下面收集的几款优秀开源的管理系统,值得大家入门学习。如有新的优秀项目,我会不断补充。
张传宁IT讲堂
2021/06/29
4.4K0
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
经常看到有小伙伴在技术群里问有没有什么好用且快速的开发框架推荐的,今天就给大家分享一款基于MIT License协议开源、免费的.NET Core快速开发框架、支持多种前端UI、内置代码生成器、一款高效开发的利器:WalkingTec.Mvvm框架(简称WTM)。
追逐时光者
2023/12/24
8820
一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
【程序源代码】Springboot WEB 快速开发框架2.0版(开源版)
今天给大家带来一套《Springboot WEB 快速开发框架2.0版》开发源码和框架;经过项目团队一致同意,项目已上传gitee开源中国代码仓库。现在已将此项目正式开源了!开源了!开源了!(重要的事说三遍)。希望能为开源社区作出一点贡献。
程序源代码
2020/10/30
1.1K0
【程序源代码】Springboot WEB 快速开发框架2.0版(开源版)
YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
今天大姚给大家分享一款基于.NET8开源、免费(MIT License)功能强大的权限管理及快速开发框架,支持前后端分离,项目架构易于扩展,是中小企业的首选:YuebonNetCore。
追逐时光者
2024/08/31
1710
YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
【程序源代码】java快速开发框架
  “ 关键字:  “springboot java 快速开发框架" 01—总体介绍 itcode-springboot 介绍 SpringBoot敏捷开发框架2.0版 为什么推荐这个框架? 核心设计目的:快速开发、容易上手、易于二次开发。主要特点:轻量级、友好性、封装良好、交互简单、性能优秀、扩展性良好、代码生成 软件架构 控制层 Spring Framework4.2 安全框架:Apache Shiro1.3 视图框架:SpringMVC4.2 持久层框架:Mybaits3.3 数据库连接池:Druid
程序源代码
2022/03/04
1.3K0
基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
今天大姚给大家分享一款基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用:ZR.Admin.NET。
追逐时光者
2024/10/17
2500
基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
SpringCloud互联网云快速开发框架
JeeSpringCloudV3.0-互联网云快速开发框架模块包含定时任务调度、服务器监控、平台监控、异常邮件监控、服务器Down机邮件监控、平台设置、开发平台、邮件监控、图表监控、地图监控、单点登录、Redis分布式高速缓存、ActiveMQ队列、会员、营销、在线用户、日志、在线人数、访问次数、调用次数、直接集群、接口文档、生成模块、代码实例、安装视频、教程文档、dubbo、springCloud、SpringBoot、mybatis、springmvc、IOC、AOP、定时任务、切面缓存、MVC、事务管理。RedisMQ队列、代码生成(单表、主附表、树表、列表和表单、增删改查云接口、redis高速缓存对接代码、图表统计、地图统计、vue.js)、工作流、模块化代码生成前端控件包括单行文本、富文本、下拉选项、复选框、日期选择、文件上传选择、树选择控件、单选按钮、多行文本。
程序源代码
2019/03/14
1.3K0
SpringCloud互联网云快速开发框架
C#/.NET/.NET Core优秀项目框架推荐
前言:   为.NET开源者提供的一个推荐自己优秀框架的地址,大家可以把自己的一些优秀的框架,或者项目链接地址存到在这里,提供给广大.NET开发者们学习(注意:排名不分先后,都是十分优秀的开源框架和项目💖)。 Github项目仓库收集地址:https://github.com/YSGStudyHards/DotNetGuide/issues/5 填写格式如下: 项目or框架名称+访问链接地址+项目描述: 📦NPOI-ExportWordAndExcel-ImportExcelData 一个简单
追逐时光者
2022/09/28
2.5K0
快速开发
Jeecg-Boot 是一款基于BPM的低代码开发平台!采用前后端分离架构: SpringBoot 2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码!!帮助Java项目解决70%的重复工作,让开发更关注业务逻辑,既能快速提高效率,节省研发成本,同时又不失灵活性!各种低代码能力,在线开发:Online表单、Online图表、Online报表、表单设计器、流程设计器、报表设计器、大屏设计器 等等…
阿超
2022/08/16
4520
【程序源代码】SpringBoot敏捷开发框架2.0版
核心设计目的:快速开发、容易上手、易于二次开发。主要特点:轻量级、友好性、封装良好、交互简单、性能优秀、扩展性良好、代码生成
程序源代码
2021/06/10
4760
SpringBoot3+Vue3前后端分离的Java快速开发框架(Harry技术)配套代码生成器
项目简介:基于 JDK 17、Spring Boot 3、Spring Security 6、JWT、Redis、Mybatis-Plus、Knife4j等构建后端,基于Vue 3、Element-Plus 、TypeScript等构建前端的分离单体权限管理系统。
Harry技术
2025/01/13
1040
SpringBoot3+Vue3前后端分离的Java快速开发框架(Harry技术)配套代码生成器
YiShaAdmin:一款基于.NET Core Web + Bootstrap的企业级快速开发框架
今天大姚给大家分享一款基于.NET Core Web + Bootstrap的企业级快速后台开发框架、权限管理系统,代码简单易懂、界面简洁美观(基于MIT License开源,免费可商用):YiShaAdmin。
追逐时光者
2024/05/22
1570
YiShaAdmin:一款基于.NET Core Web + Bootstrap的企业级快速开发框架
对于 Flutter 快速开发框架的思考
要打造一个Flutter的快速开发框架,首先要思考的事情是一个快速开发框架需要照顾到哪些功能点,经过2天的思考,我大致整理了一下需要的能力:
老码小张
2024/03/01
6470
对于 Flutter 快速开发框架的思考
springboot快速开发平台(开源)
核心设计目的:快速开发、容易上手、易于二次开发。主要特点:轻量级、友好性、封装良好、交互简单、性能优秀、扩展性良好、代码生成
程序源代码
2019/08/20
2.1K0
推荐阅读
相关推荐
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文