IOC DI

控制反转(IoC)是一种设计原则,用于将组件的创建和管理的控制权从组件自身转移到外部容器或框架。在没有 IoC 的传统编程模式中,组件通常自己创建和管理它们的依赖关系,这可能导致代码紧密耦合和难以测试。
在 Nest.js 中,IoC 容器负责创建对象、在程序初始化扫描 class 上的依赖关系,将这些 class 及依赖的 class 都 new 一个实例放进容器内进行管理。
这样,组件(如控制器、服务等)就不需要知道如何创建它们所依赖的对象,也不需要知道这些依赖对象的具体实现。这促进了代码的解耦和灵活性。
从主动创建依赖到被动等待依赖注入,这就是 Inverse Of Control,反转控制。
常见的控制反转实现方式有:
  • 依赖注入(Dependency Injection,DI):被动接收依赖对象,由容器将被依赖的对象注入到对象内部。
  • 依赖查询(Dependency Lookup):主动查询依赖对象,由对象自身通过服务定位器查询被依赖对象。依赖查询也常以服务定位器模式(Service Locator)的形式出现。
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP