控制反转

LiLiucan

LiLiucan

Web Developer

对于控制反转的理解,主要在于“反转”。 反转的是什么?是依赖。也就是管理依赖的方式不同。 一般管理依赖可以通过手动的方式。 控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。 经典案例就是Spring。

其实React也用到了IOC。

  • 不使用IOC大概应该这么写:

// 🔴 React 并不知道 Layout 和 Article 的存在。

// 因为你在调用它们。

ReactDOM.render(
Layout({ children: Article() }),
domContainer
)
  • 使用IOC,也就是React最终选择的方式:

// ✅ React知道 Layout 和 Article 的存在。

// React 来调用它们。

ReactDOM.render(
<Layout><Article /></Layout>,
domContainer
)