Unity 1.0中文文档:Unity简介

Unity 应用程序块(Unity)是一个轻量级、可扩展的依赖注入容器,支持构造函数、属性和方法调用注入。它有下列优点:

简化了对象的创建,尤其是分层的对象结构和依赖,并简化了应用程序代码。

支持需求的抽象,这允许开发人员在运行时或者配置中指定依赖,并简化了横切关注点的管理。

通过延迟将配置组装到容器来提高灵活性。

服务定位功能允许客户代码保存或者缓存容器。这在开发人员可以持久化容器到 ASP.NET Session 或者 Application 中的 ASP.NET Web 应用程序中特别有用。

本主题包含了一系列有用的章节,它们提供了有助于决定 Unity 应用程序块是否满足需求的信息。本主题的章节如下:

常见场景

示例应用程序代码

Unity 应用程序块的亮点

确定何时使用 Unity 应用程序块

除了此介绍材料以外,文档还包含了下列主题:

用 Unity 应用程序块开发应用程序。此主题解释了如何在应用程序中使用 Unity 应用程序块。它列出了系统需求,解释了如何配置应用程序块以完成常见任务,以及展示了如何添加应用代码到需要应用程序块的地方。还列出了程序块的属性。

关键场景。此主题示范了如何使用应用程序块完成最常见的操作。

Unity 应用程序块的设计。此主题解释了应用程序块设计的考虑以及其他相关的考虑。

扩展和修改 Unity 应用程序块。此主题解释了如何扩展应用程序块,以及如何修改源代码。

部署和操作。此主题解释了如何部署和更新应用程序块的程序集,以及利用由程序块暴露的度量。

Unity 快速入门。此主题漫游了示范如何在应用程序中执行常见操作的快速入门应用程序。

常见场景

Unity 应用程序块解决忙于基于组件的软件工程的开发人员所面对的问题。现代业务系统除了单独解决横切关注点如日志、认证、授权、缓存和异常处理的组件以外,还由定制的业务对象和在应用程序中完成特殊的或者一般的任务的组件组成。

成功构建这样的应用程序的关键是获得解耦的或者极度松耦合的设计。松耦合的应用程序更加灵活、更加易于维护。同时易于在开发期间进行测试。可以模拟强实质依赖的对象的桩(轻量级模拟的实现)。例如,数据库连接、网络连接、ERP 连接和富用户接口组件。

依赖注入是一种用于构建松耦合应用程序的主要技术。它提供了处理对象间依赖的方法。例如,一个处理用户信息的对象可能依赖于访问数据存储、验证信息和检查用户是否被授权执行更新的其他对象。依赖注入技术可以确保用户类正确的初始化及组装所有这些对象,特别是依赖可被抽象的地方。

下列设计模式定义了简化处理的架构和开发方法:

控制反转 (IoC) 模式,这是一种一般的模式,它描述了用于支持对象可以“查找”它们需要的其他对象的实例的插件架构的技术。

依赖注入 (DI) 模式,这是 Ioc 模式的一种特殊情况,是一种基于改变对象的行为而不改变类的内部的接口编程技术。开发人员编写实现接口的类代码,并基于接口或者对象类型使用容器注入依赖的对象实例到类中。用于注入对象实例的技术是接口注入、构造函数注入、属性(设置器)注入和方法调用注入。

时间: 2024-09-19 09:00:16

Unity 1.0中文文档:Unity简介的相关文章

满江红开放技术研究组织发布Seam 2.0中文文档正式版

满江红开放技术研究组织发布Seam 2.0中文文档正式版 三个月前,满江红开放技术研究组织发布了RC版,详见: http://yulimin.javaeye.com/blog/151917 现在满江红开放技术研究组织正式发布Seam 2.0中文文档正式版,希望对大家有所帮助,谢谢. 同时,再次感谢王琳.马越.晓钢在发布RC版后,对全部译文进行通读,发现并纠正其中的问题. 虽然我们正式宣布正式版发布,但是也希望广大朋友能够在阅读的过程若发现有疑问的地方,及时提出来进行讨论并加以修正,共同提高文档的

满江红开放技术研究组织发布Seam 2.0中文文档RC版

"你得知道,我想的比做的更多.如果你要做一个开源项目,必须设想好它的道路,它才会成功."Gavin King这么说过.那时候他已经在新天地luna酒吧灌下大杯的法国葡萄酒,还要装作若无其事.不得不承认这个家伙相当聪明且自负.他做出的决定是深思熟虑的. B/S程序和C/S不同,Request/Response模型让程序冗长的像裹脚布.你同时要处理多种数据失配:服务器端的RDBMS和浏览 器展示出来的HTML之间,需要Servlet的渲染,数据经历了RDBMS Row ,ResultSet

[Hadoop]Hive r0.9.0中文文档(四)之Hive变量的使用

一.介绍 例子: $ a=b $ hive -e " describe $a " 如果你hive数据库中没有b这个表,则会提示Table b does not exist  hive的变量设置可以放在hiveconf中,使变量赋值与查询合并为一句话: 例子: $ bin/hive -hiveconf a=b -e 'set a; set hiveconf:a; \ create table if not exists b (col int); describe ${hiveconf:a

[Hadoop]Hive r0.9.0中文文档(二)之联表查询Join

一.Join语法 join_table: table_reference [INNER] JOIN table_factor [join_condition] | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition | table_reference LEFT SEMI JOIN table_reference join_condition table_reference: table_fac

[Hadoop]Hive r0.9.0中文文档(一)之数据操作语句

一.创建表的语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTED BY

[Hadoop]Hive r0.9.0中文文档(三)之Hive相关命令

一.Hive命令选项 Usage: Usage: hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e query-string>] [-S] -i <filename> Initialization Sql from file (executed automatically and silently before any other commands) -e 'quoted query stri

jqGrid中文文档之选项设置_jquery

jqGrid提供了大量的选项设置,开发者可以通过设置选项对应值来控制jqGrid,比如表格的宽度.高度.数据类型以及列名称等等都是通过选项设置来完成的.jqGrid的选项一般是名称:值(name:value)的形式,也可以是对象(object)及数组(array)的形式配置. jqGrid选项(Option) 调用jqGrid只需要执行以下代码: jQuery("#grid_id").jqGrid(options); options即jqGrid的选项设置,请参照以下表格. 属性 类型

Android2.2 API 中文文档系列(6) —— ImageView

注意 请查看本文后期更新完整版: http://www.cnblogs.com/over140/archive/2011/06/08/2075054.html   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140/    正文 一.结构 java.lang.Object android.view.View android.widget.ImageView   已知直接子类:

【MOS】中文文档列表 - Oracle Database (文档 ID 1533057.1)

中文文档列表 - Oracle Database (文档 ID 1533057.1) 类型: 状态: 上次主更新: 上次更新: ANNOUNCEMENT PUBLISHED 2017-2-23 2017-2-23     文档内容 详细信息 操作   Oracle 数据库技术支持通讯   安装/升级/降级/迁移相关     日常管理相关   性能相关     集群及存储相关   高可用相关   TimesTen 内存数据库 联系人 参考 适用于: Oracle Database - Enterp