arcadiaray

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

DependencyResolutionLocatorKey 用来唯一标识在 ObjectBuilder 中存储的对象。ObjectBuilder 中会使用一种叫做“定位器”的对象(内部通过一个哈希表来存储对象)来存储需要被缓存的对象。当我们要创建的是一个可以被重复使用的对象(例如:设计模式中的“单件模式”),则应该第一次使用 ObjectBuilder 创建该对象后将其缓存,当下次再使用 ObjectBuidler 创建该对象时将直接返回上次创建的那个对象。

这个 DependencyResolutionLocatorKey 实际上就是一个用于标识对象关键字,ObjectBuilder 使用“类型/名称”对来标识一个对象,这样有利于“插件式”的开发。开发人员可以为某类插件定义一个所有该类型的“插件”都必

  1using System;
  2
  3namespace 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}

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

posted on 2007-10-30 14:48  幸福延长线  阅读(152)  评论(0编辑  收藏  举报