我花了很多时间来了解ioc。我从来不明白在这种模式下控制是如何被完全颠倒的。甚至我也对反转的确切含义感到困惑。用普通英语来说-倒置就像倒转,例如倒转杯子。
如果我将依赖注入视为Ioc。我想知道确切的控制在这里被反转了。我在DI中了解到,依赖是在构造函数setter .......的帮助下从外部实体插入的。
但是我永远不明白这里的控制权在哪里...
任何帮助表示赞赏。
最佳答案
老式:
Class car
{
Engine _engine;
Public Car()
{
_engine = new V6();
}
}
倒:
Class car
{
Engine _engine;
Public Car(Engine engine)
{
_engine = engine;
}
}
var car = new Car(new V4());
呼叫者拥有控制权而不是汽车类别