通过这篇文章,你将了解到控制反转(IoC)是什么?「反转」到底反转了什么?Spring和IOC之间是什么关系?依赖注入(DI)和依赖倒置原则(DIP)又是什么?IOC、DI和DIP有什么关系?目录1.控制反转(IoC)1.1一个典型案例1.2IoC概念的提出1.3为什么提出IoC1.4Spring和IoC的关系1.5面试中被问到IoC怎么回答2.依赖注入(DI)2.1面试中被问到「依赖注入」怎么回答3.依赖倒置原则(DIP)3.1定义3.2代码示例3.3无所不在的抽象3.3.1JVM的抽象3.3.2货币的诞生4.推荐阅读5.参考资料1.控制反转(IoC)1.1一个典型案例介绍「控制反转」之前,
设计原则系列文章 必知必会的设计原则——单一职责原则必知必会的设计原则——开放封闭原则必知必会的设计原则——依赖倒置原则必知必会的设计原则——里氏替换原则必知必会的设计原则——接口隔离原则必知必会的设计原则——迪米特原则必知必会的设计原则——合成复用原则概述开放封闭原则是面向对象的设计的中级目标,而依赖倒置原则是实现开放封闭原则的基础。如果开放封闭原则是设计大楼的蓝田,那么依赖倒置原则就是大楼的钢铁架构。高层模块(调用者)不应该依赖于低层模块(被调用者),两个都应该依赖于抽象。依赖倒置原则的本质是通过接口或抽象使各个模块的实现独立,彼此互补影响,从而实现模块间的松耦合。未使用依赖倒置原则的代
设计原则系列文章 必知必会的设计原则——单一职责原则必知必会的设计原则——开放封闭原则必知必会的设计原则——依赖倒置原则必知必会的设计原则——里氏替换原则必知必会的设计原则——接口隔离原则必知必会的设计原则——迪米特原则必知必会的设计原则——合成复用原则概述开放封闭原则是面向对象的设计的中级目标,而依赖倒置原则是实现开放封闭原则的基础。如果开放封闭原则是设计大楼的蓝田,那么依赖倒置原则就是大楼的钢铁架构。高层模块(调用者)不应该依赖于低层模块(被调用者),两个都应该依赖于抽象。依赖倒置原则的本质是通过接口或抽象使各个模块的实现独立,彼此互补影响,从而实现模块间的松耦合。未使用依赖倒置原则的代
1.基本介绍1.1.概念高层模块不能依赖于一个“具体化、细节化”的低层模块,而是通过一个抽象的“规范/标准”建立两者之间的依赖关系,简言之就是:不依赖于实现,而是依赖于抽象。这里“实现”一词有的地方也称为“细节”,在编码中主要体现的是我们根据业务模型具体自定义的普通类,比如:员工类、商品类等。而其中的“抽象”一词是指定的接口或抽象类。 1.2.高层与低层下面我们通过传统的三层架构作为背景来理解“依赖倒置原则”中的高层与低层的含义。在分层架构中,高层是相对而言的,对于上面三层架构图中而言最高层是“表示层”,相对于“业务逻辑层”它的高层是“表示层UI”,相对于“数据访问层”它的高层则是“业务逻辑层
1.基本介绍1.1.概念高层模块不能依赖于一个“具体化、细节化”的低层模块,而是通过一个抽象的“规范/标准”建立两者之间的依赖关系,简言之就是:不依赖于实现,而是依赖于抽象。这里“实现”一词有的地方也称为“细节”,在编码中主要体现的是我们根据业务模型具体自定义的普通类,比如:员工类、商品类等。而其中的“抽象”一词是指定的接口或抽象类。 1.2.高层与低层下面我们通过传统的三层架构作为背景来理解“依赖倒置原则”中的高层与低层的含义。在分层架构中,高层是相对而言的,对于上面三层架构图中而言最高层是“表示层”,相对于“业务逻辑层”它的高层是“表示层UI”,相对于“数据访问层”它的高层则是“业务逻辑层