如果对您有帮助,点击右上角⭐Star⭐关注 ,感谢支持开源!
基于Asp.NetCore的开发框架,目前已开发完权限管理模块,CMS模块、商城模块。特别适合中小型项目快速开发,对CRUD API接口抽象到上层controller,只需要建立对应的实体,即可生成某张表的增删改查接口。
所有的代码坚持" Don't repeat yourself "。坚决反对" 简单的事情复杂干 "," 大量代码在应用层过度层层封装 ",反对" 过度设计 "的原则下进行开发。
如果你有这个习惯,并且也想找一款迷你型、上手快,不用学习太多东西的框架,那么它就适合你,只要你会dotnet core,几乎没有学习成本。
master分支为asp.netcore3.1单体分支:git clone -b master https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
.net6.0分支为asp.netcore6.0单体分支:git clone -b .net6.0 https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
page5.0分支为asp.netcore5.0单体前后端分离分支:git clone -b page5.0 https://gitee.com/shenniu_code_group/shen-nius.-modularity.git 。 注:该分支不再维护,适合大家学习二开使用。
模块化的项目地址:基于dotNetCore基础之上开发的模块化框架
注意:该项目新功能的迭代今后我会放在模块化分支上面,单体新功能的迭代一般可能会在最新的asp.netcore版本上开发。老版本新功能有偿服务!
很多人都使用过三层架构,该架构是从三层架构上面简化而来,去掉了以前三层架构中的数据访问层,配合顺手的ORM,不管开发API还是mvc效率和性能都是杠杠的。
以后整体架构会向DDD发展,逐步缓慢的演进,为解决业务需求会把实体层的贫血模型更改为充血模型,这是当下的任务。
- API框架:dotNetCore
- ORM:SqlSugarCore
- 缓存:MemoryCache和redis一键任意切换
- 日志管理:Nlog
- 工具类:Aes加密、Md5加密、RSA加密、Des加密
- token:Json Web Token
- 实体验证:FluentValidation
- 实体映射:AutoMapper
- 数据库使用mysql(后面会做sqlserver等其他数据库的兼容)
- 支持跨平台部署 linux/windows
- 支持AOP缓存,使用AspectCore,缓存可做到Memarycache和redis一键切换
- 支持AOP事务,服务层和控制器都可以打上特性标签使用
- 对多租户使用Filter,不管是添加还是更新、查询即可自动赋值
- 支持七牛云和本地图片一键切换使用上传
- 对于单表的增删改查,在控制器内做了封装,有新的业务按约定建立对应的CRUD实体,一套API自动完成
- 支持站群管理
- 支持MediatR进程内通讯解耦(目前已取消使用,因为只支持进程内通讯)
- git clone -b master https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
- 在mysql上创建数据库shenniusdb,然后执行源码doc文件夹下的sql脚本语句,以最近日期为准。doc文件夹里面数据库字典文档,word、CHM、html格式的都有。
- ShenNius.Mvc.Admin(前后端不分离)和ShenNius.API.Hosting(前后端分离 API)可以配置你要启动的appsettings.json文件信息。 4、 使用过程中有什么问题欢迎提issues,基本都会第一时间解决。
- ShenNius.Share.Infrastructure 基础设施、里面包含常用的扩展方法、静态类。
- ShenNius.Share.Models 实体层、里面包括Dto验证、配置类。
- ShenNius.Share.Domain 服务层、业务逻辑基本都在这个里面、里面包含了数据访问操作。
- ShenNius.Admin.API 有对服务层CRUD的抽象处理,模块只需按规则建立对应的CRUD实体,API接口自动生成。
- ShenNius.API.Hosting 前后端分离的API。
- ShenNius.Mvc.Admin 基于layui的后台管理包含CMS、商城,权限管理。
QQ群:878303823
微信群:喜欢微信交流的扫描下面我的个人二维码,邀请进群。
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request