微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity学习

     Unity是微软Patterns & Practices团队所开发的一个轻量级的,并且可扩展的依赖注入(Dependency Injection)容器,它支持常用的三种依赖注入方式:构造器注入(Constructor Injection)、属性注入(Property Injection),以及方法调用注入(Method Call Injection).  Unity可以很好的支持Model-View-Presenter (MVP) pattern来做silverlight的开发。

    可以在微软的开源站点http://unity.codeplex.com下载最新的发布版本和文档。

    通过使用Unity,我们能轻松构建松耦合结构的程序,从而让整个程序框架变得清晰和易于维护。

 

    ObjectBuilder 

    ObjectBuilder是一个可扩展的Application Block,同时也是Unity的基础。ObjectBuilder是“依赖注入的工具”,还有一种说法是“构建依赖注入容器的框架”。应该说ObjectBuilder是一个可配置的对象工厂。

    详细可参考:http://blog.csdn.net/Code6421/archive/2006/09/25/1282139.aspx

 

   具有如下的特性:

1. 它提供了创建(或者装配)对象实例的机制,而这些对象实例可能还包含了其它被依赖的对象实例。

2. Unity允许将预先配置的对象注入到类中,实现了inversion of control (IoC)的功能。在Unity中,支持constructor injection(构造器注入),property setter injection(属性设值注入)以及method call injection(方法注入)。ps:这里的方法注入与Martin Fowler定义的接口注入类似而稍有区别。

3. 支持容器的体系结构。一个容器可以有子容器,允许从子容器到父容器的对象定位查询

4. 可以通过配置文件进行准备和配置容器。

5. 不会影响到类的定义(属性设值注入方法注入除外),这也是轻量级容器的一个体现。

6. 支持自定义的容器扩展。

 

     使用Unity,最基本步骤有三步:

   1. 建立容器;

    2. 将接口与类的映射注册到容器中;

    3. 从容器中解析出正确的对象。

 

 

 


  参考网站:http://www.xiaozhou.net/dotnetdevelopment/unity-study-notes-1-unity-introduction-and-easy-to-use-2009-04-23.htm

   http://www.bianceng.cn/Programming/net/201007/18260.htm

   http://www.cnblogs.com/kebixisimba/archive/2008/03/25/1121155.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐