该文章只是便于自己学习,就当作是在记笔记吧,方便回头阅读理解。
- ioc定义:C#中的IoC(Inversion of Control)指的是控制反转,是一种编程思想,它的目标是通过将对象之间的依赖关系转移给一个依赖注入容器(DI Container),以实现应用程序的松耦合和易于维护,有很多IoC容器可供选择,比如Autofac、Unity、Castle Windsor、DryIoc、Ninject等
- 本义上作用就是为了解耦合,使用依赖注入的方式把类放到ioc容器中:
// 定义一个接口 public interface ITest { void Test(string message); } // 实现ITest接口 public class MyTest : ITest { public void Test(string message) { Console.WriteLine(message); } } // 定义一个依赖ITest的类 public class MyClass { private readonly ITest _test; public MyClass(ITest test) { _test= test; } public void DoSomething() { _test.Test("Doing something..."); } } // 在程序入口注册依赖 var container = new Container(); container.Register<ITest, MyTest>(); // 创建容器并解析依赖 var myClass = container.Resolve<MyClass>(); myClass.DoSomething();
以上代码就通过构造注入实现了控制反转。