Targo-MicroService 项目说明

Targo 文件说明

不知道从哪里开始说起,那就先从结构设计和文件搞起,然后在从结构流程优化搞搞,最后就是依赖于优化后的结构流程,来进行组件封装,先增肥,在减脂,从有到精一步步来。


Targo.net 项目框架设计

提示:这张图只针对于目前的项目结构,之后更多的技术会以组件化的方式来进行集成,项目结构也会变得比这个要更完善>_-!
在这里插入图片描述
本人审美缺陷,所以凑合看看就行

先上文件目录说明

提示:这是文件的目录>_-!

├─src                                                           //(项目结构源代码)
│  ├─Client                                                     // 调用客户端文件夹
│  │  └─Targo.GRPC.Clienter                                     // 客户端控制台应用程序(GRPC调用的)
│  ├─Grateway                                                   // 网关
│  │  ├─TarGo.GRPC.PrivateGrateWay                              // 内部网关
│  │  └─TarGo.GRPC.PublicGrateWay                               // 公共网关
│  ├─Host                                                       // 服务入口
│  │  └─Targo.BaseApplication.Host                              // 集成了GRPC-JsonTranscoding的GRPC项目,具有Swagger文档UI
│  ├─Services                                                   // 服务文件夹
│  │  └─BaseService                                             // 基础服务文件夹
│  │      ├─Targo.Base.Application                              // 基础服务application层,很薄的一层,查询集中再这一层,而具体操作集中再Domain中以domainService的方式出现
│  │      ├─Targo.Base.Application.Contracts                    // 基础服务约定,主要来定义application层的抽象接口,做DataMapping,
│  │      ├─Targo.Base.Domain.Core                              // 领域核心层,主要领域划分,领域事件,领域服务
│  │      ├─Targo.BaseApplication.GRPCServices 					// GRPC服务存储Proto文档,并实现GrpcService,在GRPCService中调用application中的内容来进行操作的执行
│  │      └─RepositoryFile                                      // 仓储层,做一些列数据的出入库操作,domainCore及application层通过仓储对数据进行管理
│  │          ├─Targo.Base.EntityFrameworkCore  				// EFCore-Data Margration Manager 管理数据库映射,采用的是codeFirst,并使用DBConnectionFactory来存储DBContext
│  │          ├─Targo.Base.IRepository                 			// 抽象仓储,定义仓储的公共方法,以及某类存储类型的抽象方法
│  │          ├─Targo.Base.MemortCache.Repository               // MemoryCache仓储实现
│  │          ├─Targo.Base.Mongo.Repositoy                      // mongo仓储实现
│  │          ├─Targo.Base.Redis.Repositoy                      // redis仓储实现
│  │          └─Targo.Base.EFCore.Repositoy                     // EFCORE 仓储实现,
│  └─SharedComponent                                            // 组件
│      ├─consulCompon                                           // Consul服务注册组件
│      └─Infrastructure.app                                     // 暂时预留的(基础应用组件,功能后期扩展)
└─test                                                          // 测试文件夹(之后统一创建单元测试)
    ├─groc.jsontranscoding.test                                 // GRPC-JsonTranscoding 转码测试项目
    ├─Targo.BaseApplication.GRPCServicesTests
    └─Test.Client

小目标

截止到现在项目结构以及文件结构已经初步实现,在之后就来一波优化吧,例如

  1. 利用反射来进行依赖注入服务的注册,在每个层级都添加上自己类库独立的注册方法?
  2. 使用attribute来标记domainService的生命周期,同样也是使用反射来进行自动依赖注入。
  3. 网关层嵌入第三方的服务器监控页面
  4. 将更多常用技术进行组件封装,然后搞成nuget包,如果安装,那么就可以直接依赖注入,使用具体的组件,提高开发速度。
  5. 这个项目不会更多的涉及业务处理,主要围绕在从各种组件分装,以及便捷使用。

在这里插入图片描述
还是觉得这张图做的比较靠谱,感觉这个搭配很合VS

Targo.Net-----GitHub

后边有啥小更新再单独说明,下篇博客开始进入自动服务注册的代码包括Assembly反射的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kenny@chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值