Rozšíření a body rozšíření

Základním pravidlem pro vytváření modulárních softwarových systémů je vyvarovat se pevnému spojování komponent. Jsou-li komponenty pevně spojeny, bude obtížné sestavovat jednotlivé části do různých konfigurací i nahradit určitou komponentu odlišnou implementací bez vyvolání četných změn v celém systému.

Volné spojování v prostředí Eclipse zčásti zajišťuje mechanizmus rozšíření a bodů rozšíření. Příhodným přirovnáním popisujícím rozšíření a body rozšíření jsou elektrické zásuvky. Zásuvka je bod rozšíření. Zástrčka nebo lampa je rozšířením. Stejně jako je to u elektrických zásuvek, body rozšíření mají široké spektrum tvarů a velikostí a zapojovat do nich lze pouze ta rozšíření, která jsou navržena pro konkrétní bod rozšíření.

Pokud určitý modul plug-in chce povolit jiným modulům plug-in rozšíření nebo úpravu částí svých funkcí, deklaruje bod rozšíření. Bod rozšíření deklaruje kontrakt, tj. obvykle kombinaci markupu XML a rozhraní Java, který musejí rozšíření respektovat. Moduly plug-in, které se chtějí připojit k tomuto bodu rozšíření, musejí tento kontrakt implementovat ve svém rozšíření. Hlavní vlastností zde je skutečnost, že rozšiřovaný modul plug-in neví nad rámec kontraktu příslušného bodu připojení vůbec nic o modulu plug-in, který se k němu připojuje. To umožňuje bezproblémovou interakci modulů plug-in vytvářených různými osobami či podniky dokonce i v případě, že jejich původci nejsou ve vzájemném kontaktu.

Platforma Eclipse obsahuje řadu použití konceptů rozšíření a bodu rozšíření. Některá rozšíření jsou výlučně deklarativní, což znamená že nepřispívají vůbec žádným kódem. Například určitý bod rozšíření poskytuje přizpůsobené vazby kláves, zatímco jiný definuje vlastní anotace souborů či značkovače. Ani jeden z těchto bodů rozšíření nepotřebuje žádný kód pro rozšíření.

Jinou kategorií bodů rozšíření je potlačování výchozího chování určité komponenty. Například vývojové nástroje v jazyce Java obsahují formátovač kódu a zároveň bod rozšíření pro formátovače kódu pro připojení formátovačů kódu nezávislých dodavatelů. Modul plug-in prostředků má bod rozšíření, který určitým modulům plug-in umožňuje nahrazení implementace základních operací se soubory, například přesunutí a odstranění.

Další kategorie bodů rozšíření se používá k seskupování souvisejících prvků v uživatelském rozhraní. Například body rozšíření pro poskytování pohledů, editorů a průvodců pro uživatelské rozhraní umožňují modulu plug-in základního uživatelského rozhraní seskupování společných funkcí, tj. například vložení všech průvodců importem do jediného dialogového okna a definování konzistentního způsobu zobrazování příspěvků do uživatelského rozhraní z širokého spektra jiných modulů plug-in.

Související odkazy

Rozšíření (editor modulu plug-in)
Body rozšíření (editor modulu plug-in)

Související odkazy

Modul plug-in