依赖反转(DIP)原则在整洁架构中的应用
整洁架构简介
直接上图
整洁架构从外到内分为四层,源码中的依赖关系必须只指向同心圆的内侧,即由底层机制指向高层策略

业务实体
这一层封装整个系统的关系业务逻辑,能被系统中的其他不同应用复用。 对应领域驱动设计中的概念就是领域模型。
直接上图
整洁架构从外到内分为四层,源码中的依赖关系必须只指向同心圆的内侧,即由底层机制指向高层策略

这一层封装整个系统的关系业务逻辑,能被系统中的其他不同应用复用。 对应领域驱动设计中的概念就是领域模型。
当打开多个项目时,每个项目都占一个新的窗口,日常工作经常会打开至少五个以上项目,多窗口切换不方便,个人更习惯只开一个窗口,多个项目分多个 Tab 的模式

Channel 基本概念介绍
基本使用方法参见 Go指南
Go 语言中的通道(channel)是一种特殊的类型。通道像一个传送带或者队列,总是遵循先入先出(First In First Out)的规则,保证收发数据的顺序。每一个通道都是一个具体类型的导管,也就是声明channel的时候需要为其指定元素类型。
在 Go 语言中,我们可以为自定义类型定义方法。方法是一个与特定类型关联的函数。方法可以被定义在值类型上或指针类型上。这两种方法分别称为值方法和指针方法。
单调栈是一种特殊的栈数据结构,它满足元素的单调性(单调递增或单调递减)。与普通栈相比,单调栈在出栈时有一定的规则,使得出栈后栈中的元素仍然保持单调性。
一个应用程序时运行在操作系统上的一个进程。进程是一个运行在自己独立内存空间的独立执行体,是操作系统进行资源分配的最小单位。一个进程则有一个或多个线程组成,这些线程是共享进程内存地址空间的执行体,是操作系统进行任务调度的最小单位。而使用多线程进行工作时,由于共享父进程的内存空间等资源,访问同一个数据需要对其进行加锁,保证同一时间只有一个线程操作一个数据。这样不仅会提高编码的复杂度,还会有多个线程抢占锁、线程切换带来的额外开销。