Unity Application Block 学习笔记 之 延迟加载
2013-02-10 13:28
453 查看
Unity有个很不错的特性就是支持延迟获取, 其本质是通过事先建立一个委托,然后再调用这个委托,看下下面的代码:
这段代码演示了2个延迟获取的方式,都是通过将Func<T>放入Resolve<T>中来实现的,返回的是一委托,这样就可以在实际需要的时候再调用这个委托:
1、第一种是事先通过Resolve<Func<IClass>>(); 来定义获取与IClass关联的对象的委托,然后再注册IClass与MyClass之间的关系,然后再通过resolver(); 来获取。
2、第二种是事先通过Resolve<Func<IEnumerable<IClass>>>(); 来定义获取一个与IClass关联的命名实例列表的委托,然后调用相应的委托就可以一次性获取与IClass关联的所有命名实例。
这2种方式都很好的展示了Unity可以更加灵活的控制对象之间的注册与对象的调用。原文引用
1、第一种是事先通过Resolve<Func<IClass>>(); 来定义获取与IClass关联的对象的委托,然后再注册IClass与MyClass之间的关系,然后再通过resolver(); 来获取。
2、第二种是事先通过Resolve<Func<IEnumerable<IClass>>>(); 来定义获取一个与IClass关联的命名实例列表的委托,然后调用相应的委托就可以一次性获取与IClass关联的所有命名实例。
这2种方式都很好的展示了Unity可以更加灵活的控制对象之间的注册与对象的调用。原文引用
相关文章推荐
- Unity Application Block 1.2 图文学习笔记
- Unity Application Block 1.2 图文学习笔记
- Unity Application Block 1.2 学习笔记(zhuan)
- Unity Application Block 1.2 图文学习笔记
- Unity Application Block 学习笔记 之 BuildUp方法
- Unity Application Block 1.2 图文学习笔记
- Unity Application Block 学习笔记 之 装饰模式应用
- Unity Application Block 学习笔记 之 Resolve方法
- Unity Application Block 1.2 学习笔记 [转]
- Unity Application Block 学习笔记之一使用接口
- Unity Application Block 学习笔记之一使用配置文件
- Unity Application Block 学习笔记 之 命名实例、匿名实例和循环引用
- Unity Application Block 学习笔记 之 错误处理
- Unity Application Block 1.2 学习笔记
- Unity Application Block 学习笔记 之 在VS2012中 配置文件 自动感应
- EntLib 3.1学习笔记(5) : Exception Handling Application Block
- Enterprise Library - Unity Application Block 学习手册
- 【Spring学习笔记-2】Myeclipse下第一个Spring程序-通过ClassPathXmlApplicationContext加载配置文件
- EntLib 3.1学习笔记(5) : Exception Handling Application Block
- Enterprise Library Exception Handling Application Block 学习笔记 - 1