AspectJ
Přejít na navigaci
Přejít na hledání
AspectJ je aspektově orientovaný programovací jazyk vytvořený jako rozšíření jazyka Java vytvořeného v Xerox PARC . Kompilátor AspectJ vkládá pojem aspektu do kódu virtuálního stroje, čímž implementuje pojem vztahu. Samotné vzhledy jsou napsány v rozšířené Javě generováním souboru java nebo kompilovány se strojovým kódem kompatibilním s kódem generovaným kompilátory Java.
Funkce AspectJ
- Aspekty : Jsou definovány jako „obaly“ kódu. Vypadají jako třídy Java.
- Joinpoint : body v kódu Java, kde může aspekt zachytit třídy.
- Pointcuts – Logicky zřetězené skupiny bodů spojení.
- Rady : Jedná se o části kódu spojené s bodovými řezy, které vkládají nové chování do všech spojovacích bodů reprezentovaných bodovým řezem.
- Mezitypové deklarace členů : umožňují aspektu plně definovat pole a metody implementované pro více tříd.
Výhody a nevýhody
Některé z výhod jazyka AspectJ zahrnují:
- AspectJ umožňuje modelovat křížové odkazy, čímž rozšiřuje možnosti OOP.
- Je to stručný a explicitní jazyk navržený tak, aby nabízel výhody modularity.
Na druhou stranu jazyk AspectJ nabízí následující nevýhody:
- Bez vhodného nástroje programátor nepochopí funkčnost celého systému. Například mezitypové členy nemusí být vidět a nemusí být nikdy použity.
- Modelování, plánování a kontrola jsou mnohem důležitější ve fázi vývoje. Aspekty musí rozpoznat designéři, což programátorům zjednodušuje úkol.
- Aspekty mohou být zneužity. Programátor může implementovat falešné funkce v jakékoli fázi vývoje a ovlivnit širokou škálu systému. Sílu POA může být těžké pochopit.
Kompilátory navržené pro AspectJ
Existují alespoň dva kompilátory AspectJ:
- ajc součástí nástrojů podporovaných projektem Eclipse a
- abc , což je kompilátor, optimalizátor a rozšiřitelný, vytvořený na aspectbench.org.
Externí odkazy
Wikibooks obsahuje knihu nebo příručku Let's Programme v AspectJ .- Domovská stránka AspectJ
- AspectJ Development Tools (AJDT) pro Eclipse
- Dokumentace AspectJ
- https://web.archive.org/web/20141216200424/http://aspectbench.org/
- "5 Leben des AspectJ" od Markuse Voeltera a Martina Lipperta
- „Rady tkaní v AspectJ“ od Erika Hilsdalea a Jima Hugunina