2013-03-22 12 views
5

Cerco di trovare alcuni materiali e articoli su "Participant Pattern", ma non sono riuscito a trovare nulla.modello partecipante in modelli di progettazione?

Nel mezzo del progetto org.eclipse.wst.jsdt, ho trovato che fornisce alcuni punti di estensione nel seguito.

Desidero utilizzare questi punti di estensione. Prima di questo, sarebbe bello capire l'architettura generale se avessi delle conoscenze su "Participant Pattern". Ci sono molte * classi di partecipanti nella sorgente di eclissi. (ad esempio ValidationParticipant, SearchParticipant, ecc.) Mi aiuterebbe?

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

La funzionalità JSDT è integrabile. Ciò significa, ad esempio, che le funzionalità di modifica JavaScript sono incorporate in HTML e JSP Editor, sia all'interno dei tag di script, sia nei valori degli attributi di script. Il JSDT è flessibile, quindi è possibile il supporto degli script in altre lingue utilizzando le interfacce del traduttore pianificate per WTP 3.1.

i seguenti punti di estensione JSDT sono supportati:

  • Ambito globale variabile inizializzatore
  • nucleo inizializzatore contenitore Ambito globale
  • codice formattatore
  • convalida partecipante

Il seguente jsdt. saranno supportati i nostri punti di estensione:

  • Ambito globale contenitore initializer ui (Wizzard, contenuti assistere le immagini e il tipo/denominazione testo)
  • javascript elemento filtrante
  • javaScriptEditorTextHovers
  • jsdocCompletionProcessor
  • quickFixProcessors
  • quickAssistProcessors
  • foldingStructureProviders
  • queryParticipants
  • javaScriptCompletionProposalComputer
  • javaScriptCompletionProposalSorters
+1

Esiste il ["Modello oggetto estensione"] (http://st.inf.tu-dresden.de/Lehre/WS06-07/dpf/gamma96.pdf) di Erich Gamma (che era anche coinvolto nella programmazione Eclisse). Potrebbe anche essere qualcosa come "Chain of Responsibility". – matcauthon

risposta

1

Dal codice di SearchEngine e SearchParticipant sembra che è una miscela di Chain of Responsibility e strategia modelli. Da una parte, ogni SearchParticipant definisce la propria logica di operazioni di indicizzazione, ricerca, reporting, ecc. E dall'altra mano SearchEngine utilizza una catena di partecipanti per l'esecuzione combinata search.

+0

grazie per il tuo commento! Mi aiuta davvero :-) – hurcy

0

dal mio punto di vista delle classi * Partecipante sono una variante del GoF del strategy pattern.

Un plug-in di base, come gli strumenti di sviluppo Javascript nel tuo caso, fornisce un'interfaccia, in cui i partecipanti/strategie aggiuntive possono eseguire ulteriori comportamenti/algoritmi.

+0

oh, allora dovrei estendere * le classi dei partecipanti. Grazie per il tuo commento. – hurcy

Problemi correlati