5

我试图找到一些关于“参与者模式”的资料和文章,但我找不到任何东西。

在查看 org.eclipse.wst.jsdt 项目的过程中,我发现它在下面提供了一些扩展点。

我想使用这些扩展点。在此之前,如果我对“参与者模式”有所了解,了解整体架构会很棒。eclipse 源码中有很多 *Participant 类。(例如ValidationParticipant、SearchParticipant 等)你能帮我吗?

http://wiki.eclipse.org/JSDT#Extension_Points

JSDT 功能是可嵌入的。这意味着,例如,JavaScript 编辑功能可以嵌入到 HTML 和 JSP 编辑器中,包括脚本标记和脚本属性值。JSDT 很灵活,因此可以使用为 WTP 3.1 计划的翻译器接口支持其他语言的脚本。

支持以下 JSDT 扩展点:

  • 全局作用域变量初始化器
  • 全局范围容器初始化器核心
  • 代码格式化程序
  • 验证参与者

将支持以下 jsdt.ui 扩展点:

  • 全局范围容器初始化器 ui(向导、内容辅助图像和类型/文本命名)
  • javascript元素过滤器
  • javaScriptEditorTextHovers
  • jsdocCompletionProcessor
  • 快速修复处理器
  • 快速辅助处理器
  • 折叠结构提供者
  • 查询参与者
  • javaScriptCompletionProposalComputer
  • javaScriptCompletionProposalSorters
4

2 回答 2

1

SearchEngineSearchParticipant的代码来看,它看起来像是责任链策略模式的混合体。一方面各自SearchParticipant定义了自己的索引、搜索、报表等操作的逻辑,另一方面通过参与者SearchEngine链来执行组合搜索

于 2013-03-22T10:54:20.263 回答
0

从我的角度来看,*Participant 类是 GoF策略模式的一种变体。

一个基本插件,如您案例中的 Javascript 开发工具,提供了一个界面,参与者/其他策略可以在其中执行其他行为/算法。

于 2013-03-22T09:37:21.357 回答