最近新入职了公司,做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 方法调用注入

测试代码:

最新文章

  1. Solr学习总结(八)IK 中文分词的配置和使用
  2. DELL灵越15R5521安装黑苹果
  3. Jquery mobile 新手问题总汇
  4. Android新建数据库和建表demo
  5. Unity3d《Shader篇》Logo闪光特效
  6. Java面向对象三大特点之多态
  7. Spring对hibernate的事物管理
  8. xml string 相互转换
  9. SQL语言整理归纳
  10. ios实现无限后台任务
  11. AtomicInteger类的理解及使用
  12. The algorithm learning of sort which include Bubblesort,Insertsort,Quicksort and Mergesort.
  13. php ip2long负数的问题
  14. python基础——高级特性
  15. sitecore开发入门之Sitecore字典结构最佳实践
  16. while else 结构体(自测)
  17. beebase
  18. hdu2552 (浮点数复杂运算的四舍五入)题解
  19. Linux,du、df统计磁盘情况不一致
  20. requests爬取知乎话题和子话题

热门文章

  1. Chapter02 第三节 其他语句
  2. Windows.etc\hosts文件
  3. linux/linux学习笔记-初识linux(mooc)
  4. Centos 安装Jenkins的坎坷
  5. vue--》如何使用wacth监听对象的属性变化?
  6. js 自调函数
  7. python 并发编程 多进程 守护进程
  8. Mailx安装与使用
  9. [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)
  10. Mybatis-学习笔记(7)缓存机制