今天Unity Application Block提前发布了,翻译一下下文纪念一下. 顺便推荐看看我整理的Castle方面的资料开源框架:Castle,这有助于你理解和使用Unity Application Block。

原文:http://msdn2.microsoft.com/en-us/library/cc468366.aspx

摘要

Unity Application Block (Unity)是一个 轻量级的, 可扩展的依赖注入容器.

下载

Unity Application Block – April 2008
Unity Application Block Documentation for Visual Studio 2008
Unity Application Block Documentation for Visual Studio 2005

社区

www.codeplex.com/unity

License

End User Licensing Agreement (EULA) (译者注:使用的协议是MS-PL,也就是说代码是按照开源的协议发布的)

概要

Unity Application Block (Unity)是一个 轻量级的, 可扩展的依赖注入容器. 它有助于构建松耦合的应用程序和为开发者提供以下便利:

  • 简化对象的创建,特别在分层对象结构和依赖的情形下
  • 它支持需求的抽象化,这允许开发人员在运行时或在配置文件中指定依赖,简化横切关注点(crosscutting concerns)的管理
  • 它通过把组件配置推给容器来决定,增加了灵活性
  • 服务定位能力; 这使客户端能够存储或缓存容器

Introduction to Unity 包括一系列的简短节所提供的信息有助于你判断Unity Application Block是否和你的需求相符.

Developing Applications Using Unity 描述如何配置容器以执行特定的任务,并说明了如何使用Unity创建和和构建实例对象。

学习如何扩展它的功能, 请看Extending and Modifying the Unity Application Block.

详细的部署方法,请看 Deployment and Operations.

常见场景

每个场景解释相应的工作, 描述了这项工作可能发生的现实的情况, 并包含代码演示了如何使用Unity Application Block来完成这项工作. 场景如下:

  • Setting Up the Unity Container
  • Resolving an Object by Type
  • Resolving an Object by Type and Registration Name
  • Resolving All Objects of a Particular Type
  • Using BuildUp to Wire Up Objects Not Created by the Container
  • Annotating Objects for Constructor Injection
  • Annotating Objects for Property (Setter) Injection
  • Annotating Objects for Method Call Injection
读者要求

.NET 编程的知识是必须的(译者注:应该具备基本的.net 编程的知识).

系统要求

以下是Unity的最小系统要求:

  • Microsoft Windows XP Professional, Windows Server 2003, Windows Server 2008, or Windows Vista operating system
  • Microsoft .NET Framework 2.0, 3.0, or 3.5
  • Microsoft Visual Studio 2005 or Visual Studio 2008 development system (any of the following editions):
    • Standard Edition
    • Professional Edition
    • Team Edition for Software Developers
    • Team Edition for Software Testers
    • Team Edition for Software Architects
    • Team Suite

Unity Application Block 解决方案和项目文件都是Visual Studio 2005格式,你可以用Visual Studio 2005打开和修改。应用程序块所带的二进制程序集是.net framework 2.0的。然而,你可以在Visual Studio 2008创建的应用程序中引用二进制程序集。

你可以用Visual Studio 2008修改和扩展Unity Application Block。当你用Visual Studio 2008打开解决方案,Visual Studio 2008会升级的项目到VS2008格式和用.net framework 3.5编译程序集(译者注:用VS2008也可以选择.net framework 2.0来编译,共需要自己多做一步工作)。用VS2008 ,就没有办法把工程转换成Visual Studio 2005格式。因此保持原来的解决方案和项目.

设计目标

Unity Application Block 实现下述目标:

  • 通过积极的解耦合促进模块化设计
  • 提供人们对设计应用程序的时候要考虑最大限度的可测试性。
  • 为创建新的对象实例和管理存在的对象实例提供一个快速的和轻量级的注入容器
  • 为程序员使用容器提供一个紧凑而直观的API
  • 支持广泛的代码语言,语言所支持接受泛型参数的重载方法
  • 支持特性驱动(attribute-driven )的构造函数注入,属性注入, 和methods of target objects(这个怎么翻译,那位兄弟翻译以下)
  • 通过自定义和第三方的容器扩展提供可扩展性
  • 提供企业级业务线(LOB)所要求的性能

想了解Unity设计的更多信息, 请看 Design of the Unity Application Block.

Getting Started

关于依赖注入的介绍, 请看Martin Flower的文章 Inversion of Control Containers and the Dependency Injection pattern 。

关于Unity Application Block的主要特性请看Unity QuickStarts. 这个Unity 主要特性的文档是是开始使用Unity的一个很好起点.

社区

Unity Application Block,象许多已发布的的模式与实践 有一个 社区站点 在这个社区站点, 你可以提交你的问题, 提供反馈, 或者和其他的用户交流你的想法. 社区成员可以帮助微软计划和测试Unity已经发布的特性, 并可以下载额外的内容,例如容器的扩展和培训资料.

反馈和支持

问题? 评论? 建议? 关于Unity Application Block的反馈, 或者是寻求问题的帮助,请访问 Unity 社区站点. 社区网站的留言板是首选的反馈和支持渠道因为它允许你在整个社区分享你的想法,问题和解决方案。 Unity Application Block是一个指导性产品, 设计为可重用的 ,可定制的和可扩展的。 代码是按照"as is" 发布的,并没有保证。 用户可以通过微软的 Microsoft Premier Support Services 获得支持(译者注:需要费用,也就是说不是免费服务),但是微软支持人员认为代码是用户写的。

作者和贡献者

Unity Application Block 是由以下人员完成的:

  • 产品经理: Grigori Melnik (Microsoft Corporation)
  • 项目经理: Scott Densmore and William Loeffler (Microsoft Corporation)
  • 架构师: Chris Tavares (Microsoft Corporation)
  • 开发人员: Chris Tavares (Microsoft Corporation), Fernando Simonazzi (Clarius Consulting), and Nicolas Botto (Digit Factory)
  • 测试团队: Hanz Zhang and Carlos Farre (Microsoft Corporation); Naveen Guda, Pooja Parate, Pravin Pawar, Ronita Acharya, Sai Pasumarthi, and Venkata Appaji Sirangi (Tata Consultancy Services); and Vijaya Janakiraman (Solutions IQ)
  • 文档编写: Alex Homer (Content Master Ltd);
  • 编辑团队: Nelly Delgado and RoAnn Corbisier (Microsoft Corporation), Tina Burden McGrayne (TinaTech, Inc.)

特别感谢产业咨询委员会的成员:

  • Brian Button (Asynchrony Solutions)
  • Daniel Piessens (Red Prairie)
  • Francois Tanguay (nVentive)
  • Keenan Newton (Microsoft Corporation)
  • Kyle Huntley (Avanade)
  • Lenny Fenster (Microsoft Corporation)
  • Rinat Shagisultanov (Neudesic)
  • Tom Hollander (Microsoft Corporation)

非常感谢以下为Unity做代码检查和提供有意义的反馈:

  • Ade Miller, Blaine Wastell, Bob Brumfield, Brad Wilson, Glenn Block, Michael Puleio, Francis Cheung (Microsoft Corporation)

相关主题

  • Enterprise Library 4.0

转载于:https://www.cnblogs.com/shanyou/archive/2008/04/05/unity.html

Unity Application Block 发布相关推荐

  1. 微软模式与实践团队发布Enterprise Library 4.1及Unity Application Block 1.2

    微软模式与实践团队发布Enterprise Library 4.1及Unity Application Block 1.2,具体可参看InfoQ的新闻http://www.infoq.com/cn/n ...

  2. Unity Application Block 3月12 发布的版本

    3月12日,Unity 又发布了正式发布之前的版本,这个版本提供了安装程序.并且提供了一个依赖注入在实现方式:Setter injection 的配置API.之前发布的版本,属性注入需要用[Depen ...

  3. Unity Application Block 1.0系列文章

    Unity Application Block (Unity) 是微软 Patterns & Practices  团队开发的一个轻量级.可扩展的依赖注入容器,有助于构建松散耦合的系统.它支持 ...

  4. Unity Application Block 1.2 学习笔记 [转]

    昨天花了一天时间,把IOC/DI的相关文章以及Unity相关的一些文章基本在园子里搜了个遍 先给出几篇不错的文章链接: Unity Application Block官方网址 http://www.c ...

  5. Unity Application Block 1.2 学习笔记(zhuan)

    昨天花了一天时间,把IOC/DI的相关文章以及Unity相关的一些文章基本在园子里搜了个遍 先给出几篇不错的文章链接: Unity Application Block官方网址 http://www.c ...

  6. Unity Application Block 1.2 学习笔记

    昨天花了一天时间,把IOC/DI的相关文章以及Unity相关的一些文章基本在园子里搜了个遍 先给出几篇不错的文章链接: Unity Application Block官方网址 http://www.c ...

  7. 自定义Unity 容器的扩展 --- Unity Application Block Event Broker

    Unity快速入门的例子中有一个Block Event Broker通过对容器功能的扩展来实现事件截获,其中扩展的代码在项目EventBrokerExtension.该项目允许在应用程序种使用自定义的 ...

  8. 依赖注入容器Unity Application Block快速入门

    概述 Unity是微软模式与实践团队开发的一个轻量级.可扩展的依赖注入容器,之前我也有过一篇文章<Enterprise Library 4.0中的依赖注入容器(Unity)预览>对其做过介 ...

  9. 工厂 调用Unity Application Block 通过XML配置文件映射读取数据层方法

    1.首先创建FactoryApplication.cs应用程序文件继承HttpApplication 导入using System.Web.Security;     using System.Con ...

最新文章

  1. FCN与U-Net语义分割算法
  2. 为窗口添加滚动条事件
  3. 小学计算机知识讲课,小学信息技术说课稿《走进计算机》
  4. 类加载器-线程上下文
  5. java数组转list(Arrays .asList)
  6. BZOJ#3252. 攻略
  7. mysql 通过echo的方式写入数据库 中文乱码解决方案
  8. 45 张图深度解析 Netty 架构与原理
  9. csharp添加引用路径_(2)添加path
  10. java bean转string_Json、JavaBean、String等互转
  11. 投票和排名系统C语言顺序表,电视大赛观众投票及排名系统C语言设计.docx
  12. 课设-基于51单片机的智能小车(循迹+避障+APP控制)
  13. 快递查询网站php源码,全国快递查询PHP源码单号自动识别支持国内上百家快递
  14. 关于CMOS截止频率的公式和概念
  15. vray许可服务器信息怎么看不到,VRay for sketchup的许可证问题怎么解决?
  16. 练习:测测你优势教养的程度
  17. 安卓开发下载apk下载文件代码
  18. Node.js 更新到最新版本
  19. Halcon 常用算子使用场合
  20. outlook反复出现验证

热门文章

  1. 零基础入门语义分割——Task2 数据扩增
  2. java package 路径_java文件路径问题及Eclipse package,source folder,folder区别及相互转换...
  3. 反编译Android将状态栏高度,反编译SystemUI.apk 实现状态栏时间居中
  4. excel对比_EXCEL对比图的用法
  5. html5中可用的颜色,jquery – 如何知道HTML5输入类型颜色是否可用作颜色选择器?...
  6. System.load 和 System.loadLibrary详解
  7. 2019计算机调剂困难,2019年研究生调剂困难程度远超想象
  8. matlab分段函数怎么画图_从零开始的matlab学习笔记——(17)其它实用的绘图工具...
  9. 浅析 Spring 中的事件驱动机制
  10. Spring cloud实现服务注册及发现