设计模式IOC 控制反转控制反转(Inversion of Control)是解决程序耦合问题的一种方案,还有种叫法是依赖注入(Dependency Injection),但我感觉Ioc(控制反转)是一种思想,DI(依赖注入)是实现这种思想的一种方式,或者说Ioc是一种概念,DI是这种概念的思想,不知道我这样理解的对不对。可能一开始接触这些东西有点莫名其妙,园友们写的一些东西也看得头疼,至少我当时是这样,如果你是像我一样的菜鸟,请跟我一起学习下,不看代码,我们先看一个生活中的例子-压水井和自来水厂的故事。 UnityContainer container = new UnityContainer();
container.RegisterType<TestFour.IWaterTool, TestFour.PressWater>();
TestFour.IPeople people = container.Resolve<TestFour.VillagePeople>();
people.DrinkWater();.
├── Ioc_DI
│ ├── Ioc_DI
│ │ ├── Ioc_DI.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── TestFour.cs
│ │ ├── TestOne.cs
│ │ ├── TestThree.cs
│ │ ├── TestTwo.cs
│ │ ├── app.config
│ │ ├── bin
│ │ │ ├── Debug
│ │ │ │ ├── Ioc_DI.exe
│ │ │ │ ├── Ioc_DI.exe.config
│ │ │ │ ├── Ioc_DI.pdb
│ │ │ │ ├── Ioc_DI.vshost.exe
│ │ │ │ ├── Ioc_DI.vshost.exe.config
│ │ │ │ ├── Microsoft.Practices.Unity.Configuration.dll
│ │ │ │ ├── Microsoft.Practices.Unity.Configuration.xml
│ │ │ │ ├── Microsoft.Practices.Unity.dll
│ │ │ │ └── Microsoft.Practices.Unity.xml
│ │ │ └── Release
│ │ ├── obj
│ │ │ └── Debug
│ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ ├── Ioc_DI.csproj.FileListAbsolute.txt
│ │ │ ├── Ioc_DI.exe
│ │ │ ├── Ioc_DI.pdb
│ │ │ ├── TempPE
│ │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ │ └── packages.config
│ ├── Ioc_DI.sln
│ ├── Ioc_DI.v11.suo
│ └── packages
│ ├── Unity.3.0.1304.1
│ │ ├── Unity.3.0.1304.1.nupkg
│ │ ├── Unity.3.0.1304.1.nuspec
│ │ ├── UnityConfiguration30.xsd
│ │ ├── lib
│ │ │ ├── Net45
│ │ │ │ ├── Microsoft.Practices.Unity.Configuration.dll
│ │ │ │ ├── Microsoft.Practices.Unity.Configuration.xml
│ │ │ │ ├── Microsoft.Practices.Unity.dll
│ │ │ │ └── Microsoft.Practices.Unity.xml
│ │ │ ├── NetCore45
│ │ │ │ ├── Microsoft.Practices.Unity.NetCore.dll
│ │ │ │ ├── Microsoft.Practices.Unity.NetCore.pri
│ │ │ │ └── Microsoft.Practices.Unity.NetCore.xml
│ │ │ └── wp8
│ │ │ ├── Microsoft.Practices.Unity.WindowsPhone.dll
│ │ │ └── Microsoft.Practices.Unity.WindowsPhone.xml
│ │ └── tools
│ │ └── install.ps1
│ └── repositories.config
└── 找例子网_Ioc_DI.rar
16 directories, 42 files
评论