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
  • クイックフィックスプロセッサー
  • クイックアシストプロセッサー
  • foldingStructureProvider
  • クエリ参加者
  • javaScriptCompletionProposalComputer
  • javaScriptCompletionProposalSorters
4

2 に答える 2

1

SearchEngineSearchParticipantのコードからは、 Chain of ResponsibilityパターンとStrategyパターンが混在しているように見えます。一方では、それぞれSearchParticipantがインデックス作成、検索、レポート作成などの操作の独自のロジックを定義し、他方でSearchEngineは一連の参加者を使用して複合検索を実行します。

于 2013-03-22T10:54:20.263 に答える
0

私の見解では、*Participant クラスは GoF の戦略パターンのバリエーションです。

あなたの場合のJavascript開発ツールのような基本的なプラグインは、参加者/追加の戦略が追加の動作/アルゴリズムを実行できるインターフェースを提供します。

于 2013-03-22T09:37:21.357 に答える