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

相關文章
相關標籤/搜索