从Unity来认识IoC()
最后在作为程序入口的Main方法中创建一个代表IoC容器的UnityContainer对象并加载配置信息对其进行初始化然后调用它的泛型方法Resolve创建一个实现了泛型接口IA的对象最后将返回对象转变成类型A并检验其BC和D属性是否为Null
static void Main(string[] args)
{
IUnityContainer container = new UnityContainer()
UnityConfigurationSection configuration =
ConfigurationManagerGetSection(UnityConfigurationSectionSectionName)
as UnityConfigurationSection;
configurationConfigure(container defaultContainer)
A a = containerResolve<IA>() as A;
if (null != a)
{
ConsoleWriteLine(aB == null ? {} aB == null ? Yes : No)
ConsoleWriteLine(aC == null ? {} aC == null ? Yes : No)
ConsoleWriteLine(aD == null ? {} aD == null ? Yes : No)
}
}
从如下给出的执行结果可以得到这样的结论通过Resolve方法返回的是一个类型为A的对象该对象的三个属性被进行了有效的初始化这个简单的程序分别体现了接口注入(通过相应的接口根据配置解析出相应的实现类型)构造器注入(属性B)属性注入(属性C)和方法注入(属性D)(S)
aB == null ? No
aC == null ? No
aD == null ? No
返回目录ASPNET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化让你的Java程序更快更稳定
Visual C++音频/视频技术开发与实战