极简实⽤的Asp.NetCore模块化框架决定免费开源了
背景
在开发这个框架之前,前前后后看过好⼏款模块化的框架,最后在⼀段时间内对ABP VNext痛下狠⼼,研究⼀段时间后,不得不说 ABP VNext的代码层⾯很规范,也都是⼀些最佳实践,开发出⼀个模块效率也很⾼。但不得不说,于我⽽⾔太重了。还看过⼀些其他模块化的框架,就不说了,学习成本于我⽽⾔太⾼了,主要是⾃⼰懒。
asp查看源码配置ui
于是,我在想有没有⼀款上⼿简单,⽐较经济实⽤的模块化框架,只要会 core 基本就可以上⼿呢,于是,将ABP VNext的模块化核⼼代码抽出来(在这⾥要特别感谢⼟⽜了),结合asp core很完美,我本⾝的需求就是做到业务逻辑代码能够复⽤,不⽤经常⼀些已经写过好⼏遍的简直难受到要吐的重复代码,这于我⽽⾔就⾜够了。
框架简介
⼀款基于Asp core3.1的模块化开发框架,提取了ABP VNext的模块核⼼,适合中⼩型项⽬快速开发,取名为神⽜(ShenNius),意为⼤神⼤⽜多提意见,⼀起参与,神⽜云集,为dotnet社区贡献⼀份⾃⼰的⼒量。追求“简单”,“⾼效”,“实⽤”,总之秉承⼤道⾄简的原则开发,坚持业务模块最低复杂度复⽤,
只要会C#,再会点Asp.NetCore基础知识,极易上⼿。适合⼩⽩⼊门进阶,更适⽤(实⽤)⽼⼿上路⼲活。
所有的业务代码可以按照类库划分,使⽤宿主托管。所有的代码坚持" Don't repeat yourself "。坚决反对" 简单的事情复杂⼲ "," ⼤量代码在应⽤层过度层层封装 ",反对" 过度设计 "的原则下进⾏开发。如果你有这个习惯,并且也想⼀款迷你型、上⼿快,不⽤学习太多东西的框架,那么它就适合你,只要你会dotnet core,⼏乎没有学习成本,除了ABP VNext的模块化核⼼代码。另外、顺⼿做了个简单的后台权限管理做为⼊门例⼦。采⽤LayuiMini+Asp.Net Core Razor Page,本来是想⽤Blazor,我前后看了⼏款UI框架,⽬前都不是很成熟,需要踩坑。⽽我由于时间⽐较紧迫关系,只有⾃⼰⼀个⼈,先使⽤Layui,后期有时间我还是想上Blazor的,⽬前整个前后端交互基本都是分离的,后⾯想要切换到Blazor,也很好对接。注:权限后台管理有部分样式之类的有借鉴“ s”这个开源项⽬。
软件架构
1. API框架:dotNetCore
2. ORM:SqlSugarCore
3. 缓存:MemoryCache(后期会上redis,看项⽬业务需求)
4. ⽇志管理:Nlog
5. ⼯具类:Aes加密、Md5加密、RSA加密、Des加密
6. token:Json Web Token
7. 实体验证:FluentValidation
8. 实体映射:AutoMapper
使⽤说明
1. ShenNius.ModuleCore是模块化的核⼼代码
2. ShenNius.Swagger是封装的API Doc
3. ShenNius.Share.Infrastructure 基础设施、⾥⾯包含常⽤的扩展⽅法、静态类
4. ShenNius.Share.Models 实体层、⾥⾯包括Dto验证、配置类
5. ShenNius.Share.Service 服务层、业务逻辑基本都在这个⾥⾯、⾥⾯包含了数据访问操作。
6. ShenNius.Sys.API 基于RBAC的权限API。
7. ShenNius.Cms.API 基于Cms的API (待完成)
8. ShenNius.Shop.API 基于Cms的API (待完成)
9. ShenNius.API.Hosting API的宿主,所有API⽬前都放在这个⾥⾯托管,这也是魅⼒所在,可以Sys和Cms API各⾃
托管使⽤独⽴的宿主,主要看业务量。拆合很容易。
10. ShenNius.Layui.Admin 基于layui的后台管理。
安装教程
1. git clone gitee/shenniu_code_group/shen-nius.-modularity.git
2. 多项启动ShenNius.API.Hosting 和ShenNius.Layui.Admin
3. ShenNius.API.Hosting 可以配置你要启动的API项⽬
效果图
最后说明
这个框架,我⼀直会更新下去,不断的去调整架构,关于Asp.Net Core Api如何配置swagger,FluentValidation等技术⽂章我近期也会更新⽂章出来,只要业务需要,我会将⼀些技术点慢慢地融⼊到框架中来。尽量做到务实,尽量不在应⽤层封装⾃⼰⼤量的东西,增加学习成本。我本⼈真的不喜欢在应⽤层封装⼤量东西的框架,包了⼀层⼜⼀层,没任何意义。
另外,近期我会把⼀些权限管理的前端bug修复下,前端技术我是个半桶⽔,真的很发愁,如果有⼈愿意⼀起做开源,为社区贡献⼀份⼒量,那就尽情的联系我吧。以前⾃⼰也做了⼤量的个⼈项⽬,但都没有开源出来。这次基本也是从⼩⽩做起,⼀起学习如何做好⼀个开源项⽬。
对了,近期我也会把CMS模块尽快完善起来,商城模块后⾯逐渐排期更新。
最后,如果有什么问题,我也⾃建了"dotnet根据地"这样⼀个,可以识别下⾯的⼆维码加⼊,⼀起交流沟通,如果⼆维码过期了也可以识别下⾯⼆维码加我,邀请你加⼊。
源码地址
0?wx_fmt=jpeg0?wx_fmt=jpeg

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。