DependencyResolutionLocatorKey 用来唯一标识在 ObjectBuilder 中存储的对象。ObjectBuilder 中会使用一种叫做“定位器”的对象(内部通过一个哈希表来存储对象)来存储需要被缓存的对象。当我们要创建的是一个可以被重复使用的对象(例如:设计模式中的“单件模式”),则应该第一次使用 ObjectBuilder 创建该对象后将其缓存,当下次再使用 ObjectBuidler 创建该对象时将直接返回上次创建的那个对象。
这个 DependencyResolutionLocatorKey 实际上就是一个用于标识对象关键字,ObjectBuilder 使用“类型/名称”对来标识一个对象,这样有利于“插件式”的开发。开发人员可以为某类插件定义一个所有该类型的“插件”都必
1
using System;
2
3
namespace Microsoft.Practices.ObjectBuilder
4
{
5
/// <summary>
6
/// 表示一个 "类型/
7
/// 标识" 对,该类用
8
/// 于标识 "定位器"
9
/// 中的对象。
10
/// </summary>
11
/// <remarks>
12
/// 该类实际上是用来
13
/// 标识一个 "依赖对
14
/// 象" 的,而 "依赖
15
/// 对象" 一般是保存
16
/// 在 "定位器" 中的。
17
/// </remarks>
18
public sealed class DependencyResolutionLocatorKey
19
{
20
21
字段
25
26
属性
49
50
构造函数
72
73
公有方法
104
105
}
106
}
using System;2

3
namespace Microsoft.Practices.ObjectBuilder4
{5
/// <summary>6
/// 表示一个 "类型/7
/// 标识" 对,该类用8
/// 于标识 "定位器" 9
/// 中的对象。10
/// </summary>11
/// <remarks>12
/// 该类实际上是用来13
/// 标识一个 "依赖对14
/// 象" 的,而 "依赖15
/// 对象" 一般是保存16
/// 在 "定位器" 中的。17
/// </remarks>18
public sealed class DependencyResolutionLocatorKey19
{20

21
字段25

26
属性49

50
构造函数72

73
公有方法104

105
}106
}须继承的基类(或接口),然后为每个“插件实现”指定一个名称。当我们需要创建该“插件”的对象时,只需要使用这个基类型(或接口类型)和为该“插件实现”指定的名称,就可以马上确定要创建的是哪个插件了。



浙公网安备 33010602011771号