ShenNiusModularity源码主要有11个project(其实还有officialweb、test两个文件夹,大致有4、5个project,但看着跟主要项目代码没太大关系,暂时不管),这11个project的依赖关系如下图所示,其中最下层的四个项目作为基础支撑模块,其它项目都是通过安装Nuget包的方式添加依赖项,而其它项目之间则通过项目依赖的方式添加依赖项。
ShenNiusModularity既支持MVC模式,又支持前后端分离模式,前者的启动项目为ShenNius. Admin.Mvc,包含前端页面及后台控制器类,而后者的启动项目为ShenNius.Admin.Hosting,主要提供后台服务,二者都依赖ShenNius.Admin.API项目。
ShenNius.Caches项目:该项目只有一个文件CacheExtension,针对分布式缓存定义了同步和异步的Set、Get扩展函数。
ShenNius.Repository项目:该项目主要包括SqlSugar服务注册扩展函数、通用数据操作接口及实现类,详细介绍见上一篇文章。
ShenNius.Admin.Hosting项目:该项目为前后端分离模式的后台服务启动项目,主要包括Program.cs、appsettings.json文件,其它功能都在ShenNius.Admin.API项目内。
上述3个项目相对比较简单,其它项目会在后续文章中逐个分析内容及用途。
参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity