feat:添加文档
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
## 它是什么?
|
||||
|
||||
YiFramework是一个基于.Net8+Abp.vNext+的后端开源框架
|
||||
|
||||
中文名称:意框架
|
||||
|
||||
英文名称:YiFramework
|
||||
|
||||
但是,不仅仅是如此
|
||||
|
||||
## 它的理念
|
||||
优雅的进行快速开发,通常,简单程度与优雅程度不可兼得,Yi框架并不一昧的追求极致的解耦,会站在用户使用角度上,在使用难易度进行考虑衡量
|
||||
|
||||
> 一个面向用户的快速开发后端框架
|
||||
|
||||
在真正的使用这,你会明白这一点,极致的简单,也是优雅的一种体现。
|
||||
|
||||
## 特点
|
||||
- 面向用户的后端框架,使用简单,适合小型、中型、企业级项目
|
||||
- 项目内置源码,不打包,方便二开
|
||||
- 内置包含大量通用场景模块
|
||||
- 等等
|
||||
|
||||
## 基础设施简介
|
||||
- Jwt鉴权
|
||||
- 接口级别授权
|
||||
- 对象映射
|
||||
- O/RM
|
||||
- 数据过滤
|
||||
- 多租户
|
||||
- 逻辑删除
|
||||
- 审计日志
|
||||
- 种子数据
|
||||
- 工作单元
|
||||
- 模块化
|
||||
- 动态Api
|
||||
- 属性注入
|
||||
- 自动依赖注入
|
||||
- 当前用户
|
||||
- 仓储
|
||||
- Crud
|
||||
|
||||
|
||||
## 内置模块简介
|
||||
- Rbac权限管理系统
|
||||
- Bbs论坛社区系统
|
||||
|
||||
|
||||
## 业务项目
|
||||
- RABC后台管理系统
|
||||
- BBS社区系统
|
||||
|
||||
> 重复的东西,无需再写一遍,这也是优雅的体现之一
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
## 简介
|
||||
通常,在Asp.NetCore中,**容器组装**过程 与 **管道模型组装** 过程 会将启动类文件变的非常长,同时也需要明确各个模块的依赖关系
|
||||
例如:
|
||||
我们需要仓储的功能,但是仓储的实现需要依赖Sqlsugar
|
||||
老的引入写法:
|
||||
``` cs
|
||||
service.AddUow();
|
||||
service.AddSqlsugar();
|
||||
......
|
||||
var app=service.Build();
|
||||
app.UseSqlsugar();
|
||||
......
|
||||
```
|
||||
这个文件会变得非常长,同时如果有顺序依赖关系的模块,还需按顺序组装
|
||||
例如:
|
||||
在Asp.NetCore,我们只有先鉴权才能进行授权操作
|
||||
当模块越来越多,我们维护起来将越来越困难,所以引入了模块化功能
|
||||
|
||||
## 使用
|
||||
每一个类库都可以有自己的模块化文件,我们通常命名为类库全名+Module
|
||||
例如:`Yi.Template.Application`的模块类叫做`YiTemplateApplicationModule`
|
||||
|
||||
另外,该模块类实现`AbpModule`基类
|
||||
ConfigureServices:用来配置容器服务
|
||||
OnApplicationInitialization:用来配置管道模型
|
||||
|
||||
Abp内置`DependsOn`特性标签,可进行维护各个模块之间的依赖关系
|
||||
|
||||
## 完整例子
|
||||
创建模块化文件:
|
||||
``` cs
|
||||
using Volo.Abp.Modularity;
|
||||
using Yi.Abp.Domain;
|
||||
using Yi.Abp.SqlSugarCore;
|
||||
using Yi.Framework.Bbs.SqlSugarCore;
|
||||
using Yi.Framework.Mapster;
|
||||
using Yi.Framework.Rbac.SqlSugarCore;
|
||||
using Yi.Framework.SqlSugarCore;
|
||||
|
||||
namespace Yi.Abp.SqlsugarCore
|
||||
{
|
||||
[DependsOn(
|
||||
typeof(YiAbpDomainModule),
|
||||
|
||||
typeof(YiFrameworkRbacSqlSugarCoreModule),
|
||||
typeof(YiFrameworkBbsSqlSugarCoreModule),
|
||||
|
||||
typeof(YiFrameworkMapsterModule),
|
||||
typeof(YiFrameworkSqlSugarCoreModule)
|
||||
)]
|
||||
public class YiAbpSqlSugarCoreModule : AbpModule
|
||||
{
|
||||
public override void ConfigureServices(ServiceConfigurationContext context)
|
||||
{
|
||||
context.Services.AddYiDbContext<YiDbContext>();
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
在启动管道模型组装文件使用入口模块:
|
||||
|
||||
Reference in New Issue
Block a user