前言:为什么要用整篇文章来写好像跟领域模型干系不大的《依赖倒置》呢?因为《依赖倒置》是六边形架构的核心!毫不夸张的说,不理解《依赖倒置》的程序员只能写功能,没法写出框架来!不论是依赖注入di或者依赖倒置dip,全部都是根据当前成员变量的类型,框架自动注入实例的。区别在于成员变量是指针接收还是接口接收。具体如何自动注入,请看《六边形架构》和《资源库》章节。
一、如果不进行依赖倒置会怎样?
我们先看看什么是依赖倒置,教科书式的解释就是:
高层模块不应依赖于低层模块,二者应依赖于抽象。
抽象不应依赖于细节,细节应依赖于抽象。
我们商品领域服务需要使用Repository
来持久化数据,中二代码写成这样:
代码示例
1. 资源库具体实现基础设施(DB)的功能
2. 领域模型依赖资源库
3. 领域模型直接使用以来的资源库实现
这样做的缺点是什么&#