三、源码结构

Hoa Framework 采用自动抽象工厂多层设计模式。

Hoa 项目层

Hoa 项目层是Hoa Framework 的核心层,支撑着整个应用的初始化和管理工作。

HoaFramework                  
├─Hoa                                框架核心层(由框架作者维护)
│  ├─AppConfigure                    应用全局配置选项目录
│  ├─Authorization                   应用授权目录
│  │  ├─HoaMultipleClassifyPolicy    内置多应用授权策略目录
│  ├─DbManager                       数据库操作管理目录
│  │  ├─Attributes                   特性目录
│  │  ├─Collections                  分页拓展目录
│  │  ├─ContextPool                  上下文池目录
│  │  ├─Extensions                   拓展目录
│  │  ├─Filters                      过滤器目录
│  │  ├─Helpers                      帮助库过滤器目录
│  │  ├─Identifiers                  多上下文标识目录
│  │  ├─Interceptors                 拦截器目录
│  │  ├─Repositories                 内置EF Core仓储目录
│  │  ├─Tangents                     切面上下文目录
│  │  ├─Tenant                       多租户目录
│  ├─Dependencies                    注入/反转依赖目录
│  ├─Encryption                      数据加密目录
│  ├─Exception                       内置异常目录
│  ├─Extensions                      拓展方法目录
│  ├─Helpers                         帮助类目录
│  ├─Interceptors                    内置拦截器目录
│  ├─IocManager                      依赖注入/控制反转目录
│  ├─Jwt                             Jwt授权目录
│  ├─Models                          碎片类目录
│  ├─ServiceController               动态WebApi目录
│  │  ├─Attributes                   特性目录
│  ├─Swagger                         Swaggger管理目录
│  ├─Views                           视图相关管理目录
│  │  ├─Models                       模型目录
│  ├─Workbook                        Excel操作目录
│  ├─AppGlobal.cs                    全局应用类
│  ├─HoaModule.cs                    依赖配置管理类

Hoa.Application 项目层

Hoa.Application 项目层是应用业务代码编写的主要层。

Hoa.Core 项目层

Hoa.Core 项目层是数据库实体模型、自定义仓储编写的主要层。

Hoa.EntityFrameworkCore 项目层

Hoa.EntityFrameworkCore 项目层是EF Core构建 代码先行(Code First)逆向工程(Database First)代码生成器主要层。

Hoa.UnitTest.Specs 项目层

Hoa.UnitTest.Specs 项目层是整个框架的单元测试层,默认集成了 UnitTest 和 SpecFlow 类库。

Hoa.Web.Core 项目层

Hoa.Web.Core 项目层是Web应用的核心公共代码配置层。

Hoa.Web.Host 项目层

Hoa.Web.Host 项目层是我们框架自带的WebAPI应用层,也就是我们的启动层。

Hoa.MSTest.SpecFlow 项目层

Hoa.MSTest.SpecFlow 项目层是单元测试核心功能层,也就是所有的单元测试需要的模型、服务、接口都应该在这里定义。

Hoa.MSTest.Projects 项目层

Hoa.MSTest.Projects 项目层是单元测试测试代码层,主要对应用项目进行单元测试。

Hoa.MSTest.Remote 项目层

Hoa.MSTest.Remote 项目层是单元测试测试代码层,主要对远程API进行单元测试。

该项目层有区别于 Hoa.MSTest.Projects,前者主要对远程API进行测试,后者是测试项目代码。🤦‍♀️🤦‍♂️🤷‍♀️🤷‍♂️

Hoa.Worker.Projects 项目层

Hoa.Worker.Projects 项目层是创建Windows服务或Linux守护进程的服务层,可以非常方便的系统后台服务。

最后更新于

这有帮助吗?