luseven

楼主17年毕业,到目前已经工作4个年头,我相信有很多小伙伴在刚毕业工作时候,是不是跟楼主一样,很想自己从头来搭建一个项目,别急,它来了!这篇文章我会讲解一下我自己搭建的项目,如果有不理解或者需要更正改进的地方,请评论区联系我。
ps:楼主文笔有限~~~~

项目地址:https://github.com/IrvingLu/netCore-Stand

1、基本介绍

首先说一下,我这边整体使用的是net5开发平台,我相信net会变得越来越好,总有一天要盖过java。
整体项目分为主服务和认证服务。首先来说一下主服务的架构:
服务架构的搭建基本采用的是DDD思想,将项目分层,分别为用户接口层,领域层,基础设施层。下面说一下各个层的功能
用户接口层:web服务,主要提供api给前端,以及web服务的一些基本设置
应用层:在本项目里,将应用层放在了web层,大家也可以分开,主要是做业务处理
领域层:领域层,主要为领域事件,领域模型(实体),用来处理数据。
基础设施层:这里主要放的是一些封装的与数据库相关的类,比如对dapper 以及仓储的封装,dbcontext上下文都会在这里
基础层:这里放的是一些基础类,比如静态类,api封装对象之类的。
采用DDD思想,在领域层划分领域,使用聚合根,值对象等相关概念
image.png

如果你不理解DDD,可以参考我的另一篇文章https://www.jianshu.com/p/bb56e4ccd2a0

2、架构介绍

主服务:

项目中使用的ORM框架为Dapper以及EF ,满足不同人群的需求,项目中封装了dapper,采用了仓储模式。我们也可以通过dapper进行数据库的读操作,EF用在写操作。
设计模式上,使用的是CQRS架构,也就是命令模式和中介者模式,主要目的是为了解耦
依赖注入层面采用了第三方 架构,autofac,更灵活的配置DI
日志层面采用elk的解决方案,实现日志统一管理
automapper:更快的进行数据处理
使用csredis封装了redis的操作
封装mongodb操作
添加pg数据库,可以在配置 文件中无缝切换(待修改)
扩展IQueryable 相关代码,更好的处理数据
文件采用阿里云oss服务存储
短信服务采用阿里云短信服务
身份服务使用Indentity 身份服务框架

Identity4认证服务:

IdentityServer4一款基于 OpenID Connect 和 OAuth 2.0 认证框架。
认证服务
单点登录登出(SSO)
API访问控制
本项目中实现了两种验证方式,用户名密码验证,自定义的手机验证码验证

分类:

技术点:

相关文章:

  • 2021-10-19
  • 2021-06-26
  • 2020-02-27
  • 2021-11-01
  • 2021-09-29
  • 2021-12-14
  • 2021-06-23
猜你喜欢
  • 2021-12-05
  • 2022-01-10
  • 2021-08-14
  • 2021-11-22
  • 2021-12-24
  • 2021-09-06
  • 2021-05-14
相关资源
相似解决方案