Eclipse的设计模式 - Workspace中的代理与桥梁模式

一、核心工做区间(Workspace)中的代理与桥梁模式。

在核心工做区间中,最重要的设计模式是“代理与桥梁”,最让人疑惑的是哪部分是代理,哪部分是桥梁。 下面类图使用 IResource作示范,其余也相似如:IFile, IFolder, IProject, IWorkspaceRoot等等。 java

  

在工做空间中,每一个资源(resource)用句柄(handle)表明,句柄像资源的主键,句柄是小对象,他建立以后就不会改变。 Resource 是 ResourceInfo 的代理,不管什么请求ResourceInfo都经过他的代理Resource。 Resource 是 IResource的实现类,可是一个句柄只有一个实现类,这能够称为一个简化版的桥梁模式。 代理:若是,A不管作什么,都经过B,那么,B是A的代理, 这可能不许确,可是他是咱们怎样理解类图。 桥梁:桥梁是一个类型适配器的模式,在桥梁模式中,咱们定义所胡的抽象中和底层实现,咱们没必要等待它适用咱们的接口,在这种例子中,一般会有多个实现代理一个。 在这里,没有必要对应上你知道的设计模式,由于他们不是很明显,懂得他们怎么更有用。设计模式

2. 代码例子:

这里是一个代码例子能说明这个模式怎么工做:eclipse

IResource resource=ResourcesPlugin.getWorkspace().getRoot().findMember(path);
  if (resource == null) {
    return null;
  }
IJavaElement javaElement=JavaCore.create(resource);
  if (javaElement == null) {
    return null;
  }
  return javaElement;

以上文章翻译自: http://www.programcreek.com/2013/02/eclipse-design-patterns-proxy-and-bridge-in-workspace/spa

相关文章
相关标签/搜索