Unity学习笔记(1):认识Unity
Unity是什么?
Unity是patterns & practices团队开发的一个轻量级、可扩展的依赖注入容器,具有如下的特性:
- 它提供了创建(或者装配)对象实例的机制,而这些对象实例可能还包含了其它被依赖的对象实例。
- Unity允许将预先配置的对象注入到类中,实现了inversion of control (IoC)的功能。在Unity中,支持constructor injection(构造器注入), property setter injection(属性设值注入)以及method call injection(方法注入)。ps:这里的方法注入与Martin Fowler定义的接口注入类似而稍有区别。
- 支持容器的体系结构。一个容器可以有子容器,允许从子容器到父容器的对象定位查询。
- 可以通过配置文件进行准备和配置容器。
- 不会影响到类的定义(属性设值注入和方法注入除外),这也是轻量级容器的一个体现。
- 支持自定义的容器扩展。
IoC又是什么?
IOC(Inversion of Control),中文译为控制反转,又称为“依赖注入”(DI =Dependence Injection)
IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。 所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。
简单地说,就是应用本身不负责依赖对象的创建和维护,而是将其交给一个外部容器来负责。这样控制权就由应用转移到了外部IoC 容器,即控制权实现了所谓的反转。比如在类型A 中需要使用类型B 的实例,而B 实例的创建并不由A 来负责,而是通过外部容器
来创建。通过IoC 的方式实现针对目标Controller 的激活具有重要的意义。
Unity安装
使用VS自带工具,NuGet管理器进行安装,如图所示。

Unity简单示例
创建Unity容器
IUnityContainer container = new UnityContainer();
创建接口映射
container.RegisterType<ILogger, MyLog>();
获取对象实例
ILogger log = container.Resolve<ILogger>();
本文链接: 文章作者:雨~桐 文章出处:http://www.cnblogs.com/piscesLoveCc/ 如果您觉得阅读本文对您有帮助,请点一右下角的“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
Unity学习笔记(1):认识Unity的更多相关文章
- Unity学习笔记 之 关于 Unity UI 的 Slider 的代码记录
代码例如以下: using UnityEngine; using System.Collections; //1.引入 UI . using UnityEngine.UI; public class ...
- 微软企业库Unity学习笔记
本文主要介绍: 关于Unity container配置,注册映射关系.类型,单实例.已存在对象和指出一些container的基本配置,这只是我关于Unity的学习心得和笔记,希望能够大家多交流相互学习 ...
- Unity学习笔记(3):获取对象
在上一篇文章中(Unity映射注册)中概要介绍了Unity中的映射机制,本节主要介绍对象获取,包括默认获取,通过名称获取,获取全部对象,同时通过加载配置文件,然后再获取对象. 通过代码获取对象 方式1 ...
- Unity学习笔记(2):注册映射
在上一篇文章中(认识Unity)中概要介绍了Unity和Ioc,本节主要介绍IoC中的注册映射,并使用代码和配置文件两种方式进行说明. 定义依赖注入相关信息 定义ILogger接口 public in ...
- Unity学习笔记 - UI System(一)
转载请注明出处: EnigmaJJ http://www.cnblogs.com/twjcnblog/p/5850648.html 术语 Canvas是Unity的原生组件,Unity的渲染系统使用C ...
- Unity学习笔记 - Assets, Objects and Serialization
Assets和Objects Asset是存储在硬盘上的文件,保存在Unity项目的Assets文件夹内.比如:纹理贴图.材质和FBX都是Assets.一些Assets以Unity原生格式保存数据,例 ...
- Unity学习笔记
『 知识点』 [射线] 射线检测碰撞 『游戏实战』 个例 [E]<愤怒的小鸟> 资源 免费Unity基础教程(中文电子书) [E] noobtus(Unity游戏教程)
- Unity学习笔记(一)——基本概念之场景(Scene)
场景,顾名思义就是我们在游戏中所看到的物品.建筑.人物.背景.声音.特效等,基本上和我们玩游戏时所看到的游戏“场景”是同一个概念. Unity 3D中,“场景”是一个视图,我们通过“场景”这个视图,来 ...
- Unity学习笔记(4):依赖注入
Unity具体实现依赖注入包含构造函数注入.属性注入.方法注入,所谓注入相当赋值,下面一个一个来介绍 1:构造函数注入 1.1当类有多个构造函数时,可以通过InjectionConstructor特性 ...
随机推荐
- 深入分析 Linux 内核链表
转载:http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/ 一. 链表数据结构简介 链表是一种常用的组织有序数据的数据结构,它通过指 ...
- yeelink使用笔记
一.触发条件设置 下面是我在群113978926里获得的解释: 摩斯电码<pengdonglin137@qq.com> 13:15:26 触发规则有什么限制吗怎么我设置的条件有时候无效呢 ...
- uva 699 The Falling Leaves dfs实现
额,刘汝佳小白里面的配套题目. 题目求二叉树同垂直线上结点值的和. 可以用二叉树做,挺水的其实. 尝试使用dfs实现了:开一个大点的数组,根节点为最中间那点,然后读取时就可以进行和的计算了. 代码: ...
- python基础语法小笔记
这几天看着python,然后就记下一些自己觉得需要注意以下的基础语法吧! 如下: for i in range(0,100)表示从0到99,不包括后边界 单引号(')和双引号("" ...
- 【几何模板加点小思路】hdu-4998 Rotate
用几何模板敲的,也有直接公式推的,追求短代码的可以点右上角小红了...... 题意就是想想一个物体分别做绕某一点(给出坐标)旋转p度(给出角度)后,其位置等价于绕哪一点旋转多少度,输出该等价点及其等价 ...
- [转]Ubuntu中无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
sudo apt-get install git E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/ ...
- Apache ab 测试工具使用(一)
简述: 试用apache ab测试工具 下载点 http://httpd.apache.org/download.cgi 参考: http://jingyan.baidu.com/article/e3 ...
- css3 web字体记
css3 web字体 @font-face语法 @font-face能够加载服务器端的字体,让客户端浏览器显示客户端没有安装的字体. @font-face{ font-family:<YourW ...
- Commons Codec - 常见的编码解码
Base64 Base64 编码 assertEquals("T3chIQ==", Base64.encodeBase64String("Ow!!".getBy ...
- Tomcat - 持久化 Session
Session 是保存在内存中的,如果服务器重启.宕机的话,Session 就会丢失.有时候,我们需要对 Session 持久化以应对意外的情况发生.例如,客户端与服务器在交互过程中,可能因为 Ses ...