最近新入职了公司,做WPF方向的项目,进来后看到这边大量运用了依赖注入来解耦,采用的是Microsoft.Practices.Unity。
WPF的话,目前主要有两个技术来实现IOC,unity和MEF,MEF前边也写过简单例子,这篇就简单入门下Unity。
之前接触IOC就是上家公司接手的烂尾项目了,B/S 项目用的是Ninject来实现IOC。对比了一下,其实大致道理都是差不多的。大体都是注册、标记,键值对存储实例对象。
下边贴出代码来感受下,首先对Unity定义一个接口Icontext,封装一个操作实现类 ,公司用的虚拟机,无法粘贴代码,就直接上图了,需要的可以手动敲下感受下。。。需要先引用Microsoft.Practices.Unity.dll
实现类
然后开始进入正题,主要用三种注入方式, 构造函数注入、属性注入、方法调用注入,区别都列在注释中,一看便知。
实际业务中根据需要架构,这里举例为DAO层入库对数据库的选择,SQL SERVER或者oracel。
User的DAO层接口
1 构造器注入法
测试代码:
2 属性注入法
测试代码
3 方法调用注入
测试代码:
每天一小步,日后一大步。