专栏首页张善友的专栏Unity Application Block 发布

Unity Application Block 发布

今天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来完成这项工作. 场景如下:

读者要求

.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)

相关主题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Unity Application Block 3月12 发布的版本

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

    张善友
  • 初识Opserver,StackExchange的监控解决方案

    Opserver是闻名遐迩的网站Stack Overflow的开源监控解决方案,由Stack Exchange发布。它基于.NET框架构建,这在监控工具领域有些...

    张善友
  • .NET 3.5-4.0 并行计算的支持

    在以往的计算机发展历史中,硬件技术的发展,特别是CPU频率的不断提高,总是给软件带来更强的性能提升。从386到586,从赛扬到奔腾,每次CPU频率的提升,都带来...

    张善友
  • SAP最佳业务实践:FI–自建资产(资本投资订单)(164)-3FB60开票

    4.4 FB60应付帐款过帐发票到投资订单 本活动中,将创建内部订单的发票。 内部订单需要在系统中已存在。已知内部订单的凭证编号。 角色:应付帐款会计 会计核算...

    SAP最佳业务实践
  • 文件路径分类

    十月梦想
  • Hyperledger也能实现Token代币

    中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>

    netkiller old
  • 腾讯云容器服务的滚动升级使用简介

    滚动升级是一种多副本服务的升级方式,其特点是能够保证升级过程中服务不中断,对外界无感知。其原理大致为循环的执行以下步奏直至所有容器都被更新,本文将对其使用步骤进...

    腾讯云容器服务团队
  • 程序的组成、存储与运行

    一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM, RAM 相当于内存, Flash 相当于硬盘。编译器会将一个程序分类为好几个部分,分别存储在...

    正念君
  • CommonJS、ES6模块加载机制详解

    无论是前端开始后端,总会有很多概念。就拿这个前端模块加载机制来说,随着语言的发展,各种概念。

    前朝楚水
  • BootStrap的一个标准框架的内容解释——来源于bootstrap官网

    xing.org1^

扫码关注云+社区

领取腾讯云代金券