查看: 102|回复: 3

免费开源、极简实用的ASP.NET Core模块化框架!

[复制链接]

3

主题

4

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-2-10 17:39:14 | 显示全部楼层 |阅读模式
背景
在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块效率也很高。但不得不说,于我而言太重了。还看过一些其他模块化的框架,就不说了,学习成本于我而言太高了,主要是自己懒。
于是,我在想有没有一款上手简单,比较经济实用的模块化框架,只要会.net core 基本就可以上手呢,于是,将ABP VNext的模块化核心代码抽出来(在这里要特别感谢土牛了),结合http://asp.net core很完美,我本身的需求就是做到业务逻辑代码能够复用,不用经常一些已经写过好几遍的简直难受到要吐的重复代码,这于我而言就足够了。
框架简介
一款基于http://Asp.net core3.1的模块化开发框架,提取了ABP VNext的模块核心,适合中小型项目快速开发,取名为神牛(ShenNius),意为大神大牛多提意见,一起参与,神牛云集,为dotnet社区贡献一份自己的力量。追求“简单”,“高效”,“实用”,总之秉承大道至简的原则开发,坚持业务模块最低复杂度复用,只要会C#,再会点Asp.NetCore基础知识,极易上手。适合小白入门进阶,更适用(实用)老手上路干活。
所有的业务代码可以按照类库划分,使用宿主托管。所有的代码坚持" Don't repeat yourself "。坚决反对" 简单的事情复杂干 "," 大量代码在应用层过度层层封装 ",反对" 过度设计 "的原则下进行开发。
如果你有这个习惯,并且也想找一款迷你型、上手快,不用学习太多东西的框架,那么它就适合你,只要你会dotnet core,几乎没有学习成本,除了ABP VNext的模块化核心代码。
另外、顺手做了个简单的后台权限管理做为入门例子。采用LayuiMini+http://Asp.Net Core Razor Page,本来是想用Blazor,我前后看了几款UI框架,目前都不是很成熟,需要踩坑。而我由于时间比较紧迫关系,只有自己一个人,先使用Layui,后期有时间我还是想上Blazor的,目前整个前后端交互基本都是分离的,后面想要切换到Blazor,也很好对接。
注:权限后台管理有部分样式之类的有借鉴“ FytSoaCms”这个开源项目。
软件架构


  • API框架:dotNetCore
  • ORM:SqlSugarCore
  • 缓存:MemoryCache(后期会上redis,看项目业务需求)
  • 日志管理:Nlog
  • 工具类:Aes加密、Md5加密、RSA加密、Des加密
  • token:Json Web Token
  • 实体验证:FluentValidation
  • 实体映射:AutoMapper
使用说明


  • ShenNius.ModuleCore是模块化的核心代码
  • ShenNius.Swagger是封装的API Doc
  • ShenNius.Share.Infrastructure 基础设施、里面包含常用的扩展方法、静态类
  • ShenNius.Share.Models 实体层、里面包括Dto验证、配置类
  • ShenNius.Share.Service 服务层、业务逻辑基本都在这个里面、里面包含了数据访问操作。
  • ShenNius.Sys.API 基于RBAC的权限API。
  • ShenNius.Cms.API 基于Cms的API (待完成)
  • ShenNius.Shop.API 基于Shop的API (待完成)
  • ShenNius.API.Hosting API的宿主,所有API目前都放在这个里面托管,这也是魅力所在,可以Sys和Cms API各自托管使用独立的宿主,主要看业务量。拆合很容易。
  • ShenNius.Layui.Admin 基于layui的后台管理。
安装教程


  • git clone https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
  • 多项启动ShenNius.API.Hosting 和ShenNius.Layui.Admin
  • ShenNius.API.Hosting 可以配置你要启动的API项目
效果图
















这个框架,我一直会更新下去,不断的去调整架构,关于http://Asp.Net Core Api如何配置swagger,FluentValidation等技术文章我近期也会更新文章出来,只要业务需要,我会将一些技术点慢慢地融入到框架中来。尽量做到务实,尽量不在应用层封装自己大量的东西,增加学习成本。我本人真的不喜欢在应用层封装大量东西的框架,包了一层又一层,没任何意义。
另外,近期我会把一些权限管理的前端bug修复下,前端技术我是个半桶水,真的很发愁,如果有人愿意一起做开源,为社区贡献一份力量,那就尽情的联系我吧。以前自己也做了大量的个人项目,但都没有开源出来。这次基本也是从小白做起,一起学习如何做好一个开源项目。

对了,近期我也会把CMS模块尽快完善起来,后面做商城模块。
源码地址
https://gitee.com/shenniu_code_group/shen-nius.-modularity
https://github.com/realyrare/ShenNiusFramework
回复

使用道具 举报

0

主题

5

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-2-10 17:39:33 | 显示全部楼层
大神,部门换血java,.net只剩我一人,力缆狂澜还是跑路?最近焦灼也在寻找低代码平台加持。[飙泪笑]有没有兴趣研究低代码平台分享一下。
回复

使用道具 举报

2

主题

5

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-2-10 17:39:57 | 显示全部楼层
[思考]图片很“hub”
回复

使用道具 举报

2

主题

8

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-2-10 17:40:56 | 显示全部楼层
换公司[飙泪笑]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表