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

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

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

  

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

2. 代码例子:

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

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/

转载于:https://my.oschina.net/markho/blog/498198

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值