Unity是什么?

Unity是patterns & practices团队开发的一个轻量级、可扩展的依赖注入容器,具有如下的特性:

  1. 它提供了创建(或者装配)对象实例的机制,而这些对象实例可能还包含了其它被依赖的对象实例。
  2. Unity允许将预先配置的对象注入到类中,实现了inversion of control (IoC)的功能。在Unity中,支持constructor injection(构造器注入), property setter injection(属性设值注入)以及method call injection(方法注入)。ps:这里的方法注入与Martin Fowler定义的接口注入类似而稍有区别。
  3. 支持容器的体系结构。一个容器可以有子容器,允许从子容器到父容器的对象定位查询。
  4. 可以通过配置文件进行准备和配置容器。
  5. 不会影响到类的定义(属性设值注入和方法注入除外),这也是轻量级容器的一个体现。
  6. 支持自定义的容器扩展。

IoC又是什么?

IOC(Inversion of Control),中文译为控制反转,又称为“依赖注入”(DI =Dependence Injection)

IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。 所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。

简单地说,就是应用本身不负责依赖对象的创建和维护,而是将其交给一个外部容器来负责。这样控制权就由应用转移到了外部IoC 容器,即控制权实现了所谓的反转。比如在类型A 中需要使用类型B 的实例,而B 实例的创建并不由A 来负责,而是通过外部容器

来创建。通过IoC 的方式实现针对目标Controller 的激活具有重要的意义。

Unity安装

使用VS自带工具,NuGet管理器进行安装,如图所示。

Unity简单示例

创建Unity容器

 IUnityContainer container = new UnityContainer();

创建接口映射

container.RegisterType<ILogger, MyLog>();  

获取对象实例

 ILogger log = container.Resolve<ILogger>();

本文链接: 文章作者:雨~桐 文章出处:http://www.cnblogs.com/piscesLoveCc/ 如果您觉得阅读本文对您有帮助,请点一右下角的“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

最新文章

  1. Python的文件操作
  2. Linux下使用automake、autoconf生成configure文件
  3. Tomcat服务器性能优化
  4. HDU 4857 逃生 (优先队列+反向拓扑)
  5. 前端js,css文件合并三种方式,bat命令
  6. COM 学习(五)——编译、注册、调用
  7. ES6学习(2)——arrows箭头函数
  8. 菜鸟的MySQL学习笔记(二)
  9. Ice_cream’s world III--2122
  10. Gengxin讲STL系列——String
  11. HDU 3923 Invoker 【裸Polya 定理】
  12. 比较全的JavaScript倒计时脚本
  13. kali高速更新源以及主题修改方法
  14. const类型变量的详细解读
  15. Centos7下Rinetd安装与应用(转)
  16. 【php】php实现数组反转
  17. php 操作json的各种格式
  18. QueryRunner类实战
  19. 第二阶段——个人工作总结DAY02
  20. PHP20-challenge10

热门文章

  1. MAC SVN Phonegap
  2. [转]Oracle hang分析
  3. javaweb学习总结十(xml解析&lt;SAX以及DOM方式&gt;)
  4. yii2.0的gii生成代码bug
  5. Nginx HTTP User_agent
  6. Table of Contents - JAXB
  7. ActiveMQ(5.10.0) - Configuring the Simple Authentication Plug-in
  8. sublime text使用技巧
  9. 随机提取N条记录[多种数据库方法]
  10. asp.net上传文件时出现 404 - 找不到文件或目录。