From eaed0cac8a6cd79d214b73f374bafda3573a92c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= <454313500@qq.com> Date: Wed, 28 Feb 2024 15:44:48 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E6=B7=BB=E5=8A=A0=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../00.快速上手/01.依赖关系.md | 89 ++++++++++++++++++ .../00.快速上手/image-2.png | Bin 0 -> 72267 bytes .../00.快速上手/image-3.png | Bin 0 -> 8776 bytes 3 files changed, 89 insertions(+) create mode 100644 Yi.Doc.Md/01.框架快速开始教程/00.快速上手/image-2.png create mode 100644 Yi.Doc.Md/01.框架快速开始教程/00.快速上手/image-3.png diff --git a/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/01.依赖关系.md b/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/01.依赖关系.md index e69de29b..4bdd2680 100644 --- a/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/01.依赖关系.md +++ b/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/01.依赖关系.md @@ -0,0 +1,89 @@ +大家好呀~ 最近我这里收到很多人的疑惑 + - 从零开始我怎么手动分层依赖搭建一个项目 + - 如果想依赖其他组件应该怎么引入 + - 为什么要这样分层?和三层架构有什么区别? + - 等等 + +这些问题,很多初学者会疑惑的地方,就是照葫芦画苗,但是也说不出理由来,最后反而失去了这样分层的优势。 + +每一层都是有它的理由,明确了意义,在编码阶段才更得心应手,发挥出这样分层的作用。 + +> 题外话,很是有缘,在完全没有接触过DDD的分层的时候,还是停留在三层架构的时期,对于大型复杂的依赖关系,Service满天飞,根本难以下手,写出的代码交错复杂,稍微隔一段时间没去回顾,再去看,就会被自己的代码给绕死,所以我就一直想换一种分层模式,想让各个服务结构更加清晰,不再是直肠子式的三层架构,那我做的第一件事情,就是把关系比较紧密的给装在一起当成一个整体,各个整体之间不轻易去依赖,而是通过事件去抛出去。这就在早期形成了一套依赖关系比较清晰的框架,经过不断的项目历练,慢慢的就变成了业务聚合、应用组装等等概念,等到机会接触到了DDD分层一看,`哇塞,怎么那么像?这怕不是他抄我的分层嘛`,当然开个玩笑,从此对这块的了解更加加深,确实值得很多大家应该学习的地方,提升一下自己。 + +> 一千个码农,就有一千个DDD。DDD不一定完全是对的,但一定是值得学习使用的 + +> 在此,老橙子很乐意以我的血淋淋的教训的角度给大家讲清楚,框架的分层依赖关系,同时也是标准的`DDD分层架构`依赖关系,希望能给大家带来一些帮助~ + +## 依赖关系 +这个标题其实已经在之前一个章节有涉及到一部分,`目录结构`,不过既然想弄清楚依赖关系,就得先了解目录结构,大家可以先回顾一下,弄清楚有哪些文件,再看它的依赖关系 + +![alt text](image-3.png) + +从上至下,分别是 + + - 应用层 + - 应用抽象层 + - 领域层 + - 领域共享层 + - 基础设施ORM层 + - Host主机 + +对应的项目引用关系下图所示: +![alt text](image-2.png) + +可以从上图很直观的看出: + +最顶层的`host主机与下面的应用`没有关系,意味着host主机可以是web、可以是cs、可以等等,所以我们的host主机只充当一个web启动的作用,不包含业务逻辑 + +另外,发现目录中只包含ORM,好像没有基础设施层,其实是一个包含关系,是ORM属于基础设施中的一种,但是为了将orm抽象,特意把ORM独立了一层 + +由于框架的基础设施都已经在Framework里面包含,所以没有单独建立一层新的基础设施层,你完全可以`再加一层`在ORM下当作基础设施即可。 + +> web应用中,对数据库操作涉及非常广,所以ABP将ORM特意抽象出来,可实现EFCore、MongoDb等数据库无缝切换。 + +## 每层的内容 +- **基础设施层**,存放各种通用方法、ORM等 +- **领域共享层**,存放枚举、常量、事件参数、对应用层的dto +- **领域层**,存放业务的内部实现(领域服务)、领域事件。对外也就是对应用层可以暴露实体、对应用层的dto +- **应用抽象层**,存放应用层抽象、系统对外的dto +- **应用层**,存放对业务的组装(领域服务),对外暴露的dto,主要是对外的用户交互相关的业务 +- **Host主机**,存放跟WebHost,类似web启动器,包括中间件、swagger、等与web相关 + +## 为什么要这样分层? +弄清楚了分层结构,已经依赖关系,我们可以探究里面的原理,我们为什么要这样做?这样做的道理或者好处是什么? + +### 基础设施层 +首先,不管是任何系统,想要对通用方法的复用,就必然有基础设施供整个系统的使用。这个`基础设施层`其实就类似于三层架构的`Common层`,这个没啥说的 + +这一层目的是为了通用方法的复用 + +### 领域层 +领域,这个词经常出现,感觉很抽象,我们可以把他类比成`盒子`或者`模块`,比如电商系统的售前、售后,我们这可以分成两个大的`领域`。 +这里是整个结构的业务实现在这块,也是最重的一层。严格来说,不同领域之间想要调用,比如售后领域想查看售前领域的记录,可以通过事件抛出来,从而各个领域没有之间强耦合。 + +这一层的作用是实现各个领域的业务 + +### 领域共享层 +这里只是存放一些领域所要使用的枚举、常量等,除了基础设施不要有其他的依赖,轻、也轻越好,因为他的目的不是对内,而是提供给给外部系统使用的。 + +这一层的作用是存放共享的枚举、常量等,也是为了存放领域层暴露给应用层的dto(比如领域层想暴露一个用户角色菜单对象,实体无法满足,就需可以创建这样的一个dto了,在其他文章可能大家会叫做info对象) + +### 应用层 +领域层是对内的,外部系统是不清楚的,那我们的业务实现想暴露出去,要通过应用层进行包装,因为应用层是对外的,对用户交互相关处理,比如api、signalr等 + +这一层的目的是对领域层的组装及数据的效验、对外用户交互相关处理。 + +### 应用抽象层 +这里主要目的是将应用层暴露进行抽象,该层是为了提供外部系统之间依赖,于`领域共享层`类似,所以这一层也非常的轻,从上面的依赖关系图来看,`领域共享层`于`应用抽象层`是一条线性依赖。 + +这一层目的是为了`应用抽象层`可以被外部系统之间引用,从而通过Http代理等技术,实现远程调用接口访问`应用层`进行交互。这里感兴趣的可以看一下Abp.VNext的HttpProxy模块,默认意框架中不引入,等有需要的时候可以使用。 + + +## 小结 +以上分层,是DDD推荐的一种最佳实践方式之一,很荣幸,通过我十几个上线项目应用情况,事实证明,非常nice + +补充一句话,我不是DDD的崇拜者,只是在被各种业务折磨的不行的码农想追求一种方法,让花更少的时间更好的去完成任务。 + +所以,我的内容是比较偏向实践,正如意框架一般,一个追求以用户体验为中心的框架。 + +意框架很多地方并没有完全严格走DDD,包括Abp等有名的框架,过于严格,代码体验感反而是下降。有很多场景其实是没有必要的,过长的代码、过绕的领域关系,写个增删改查还得花很多时间,这也是为什么DDD难以被接受的原因之一。 \ No newline at end of file diff --git a/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/image-2.png b/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..0929845464d263591485d2d04e9a7a2783ebd538 GIT binary patch literal 72267 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

e!2Cfb@1 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 DvFKnT literal 0 HcmV?d00001 diff --git a/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/image-3.png b/Yi.Doc.Md/01.框架快速开始教程/00.快速上手/image-3.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b6bc6fa9f941c28e2726c941e7299ec9ed7357 GIT binary patch literal 8776 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 XGVI09oDUIih#;vdYAV#onSK60hFwj> literal 0 HcmV?d00001