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

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

摘要

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
社区
[url]www.codeplex.com/unity[/url]
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
自由、创新、研究、探索……
职场 休闲 Application Unity

0

收藏

上一篇:微软所面对的软件战争 下一篇:asp.net 性能调较
noavatar_middle.gif
张善友

502篇文章,102W+人气,0粉丝

noavatar_middle.gif

Ctrl+Enter 发布

发布

取消

推荐专栏更多

92f96bca4a81e7c15a63e696e2a8d8e5.jpg
微服务技术架构和大数据治理实战

大数据时代的微服务之路

共18章 | 纯洁微笑

¥51.00 669人订阅
订   阅
a940c66317ecbe58436a2ad3831c2d7d.png
基于Python的DevOps实战

自动化运维开发新概念

共20章 | 抚琴煮酒

¥51.00 430人订阅
订   阅

猜你喜欢

我的友情链接 CentOS 7 通过 持续集成包 安装最新的 Mono Java线程:线程的调度-休眠 我们不得不面对的中年职场危机 职场终极密籍--记我的职业生涯 用光影魔术手制作一寸照片(8张一寸) 我的IT职场生涯: 毕业4年,月薪过万 Linux关闭休眠和屏保模式 年薪从0到10万-我的IT职场经验总结 Windows7删除休眠文件hiberfil.sys节省大量C盘空间 致IT同仁 — IT人士常犯的17个职场错误 “跳槽加薪”现象,无奈的职场规则 ASPNetCore MVC ModelValidation-ajax C#如何设置Excel文档保护——工作簿、工作表、单元格 在.NET数据库访问方面的Dapper类库介绍 C#/VB.NET 如何添加、获取、删除PDF附件 C#/VB.NET 创建PDF项目符号列表和多级编号列表 C# /VB.NET 操作Word (一)——插入、修改、删除Word批注 C# 操作Excel数据透视表 微信支付---APP调起微信支付c#后台接口
f92360e227f9d91cdff7ea95120630ef.png
left-qr.jpg

扫一扫,领取大礼包

0

分享
qr-url?url=https%3A%2F%2Fblog.51cto.com%2Fshanyou%2F73171
张善友
noavatar_middle.gif