# 依赖注入

> 对象不应该自己创建它所依赖的对象，而应该由外部容器在运行时将依赖对象注入进来。

- ID: m06312
- 分类: create
- 领域: 设计思维

## 定义

对象不应该自己创建它所依赖的对象，而应该由外部容器在运行时将依赖对象注入进来。这实现了控制反转（IoC），降低了耦合度。脚手架作用： 资源即插即用。不要把你的能力绑定在特定的平台或资源上（硬编码）。把自己设计成一个“接口”，需要的资源（资金、人脉）由外部注入。这样你可以随时切换平台，而不需要重构自己。

## 机制

控制反转（IoC）的一种实现：对象不自行 new 依赖，而由外部（容器或调用方）在创建时把依赖"注入"进来。对象只声明所需接口，具体实例由外部决定，从而降低耦合、提升可测试性与可替换性。

## 练习

1）识别对象的依赖并抽象为接口；2）通过构造函数/Setter 接收依赖而非内部创建；3）由容器或工厂在运行时装配实例；4）测试时注入假实现（mock）以隔离验证。

## 脚手架用法

资源即插即用。不要把你的能力绑定在特定的平台或资源上（硬编码）。把自己设计成一个“接口”，需要的资源（资金、人脉）由外部注入。这样你可以随时切换平台，而不需要重构自己。

[阅读网页](https://thinkingmodels.site/entries/detail/m06312)
