Zajímavosti o JAVĚ

Ing. Jaroslav Cemper Eur Ing; programování a vývoj, J2EE, Klient & SQL Server 2005/2008, MySQL ...

Aspektově orientované programování

Aspektově orientované programování - ve zkratce AOP - je technologie, která vznikla zhruba před 13.ti lety. Ve své podstatě tvoří nadstavbu objektově orientovanému programování ve zkratce OOP, jehož příkladem je např. programování v JAVA. AOP poskytuje možnost snadněji naprogramovat některé často se opakující činnosti - typickým vzorem je proces logování. Nyní si uvedeme základní termíny, které budeme používat :
Joinpoint - je místo ve zdrojovém kódu, kam lze vložit do původního kódu nové chování aplikace pomocí AOP
Advice - tvoří kód, který je spuštěn v určitém Joinpointu ( přesně řečeno před ním či po něm )
Pointcut - je v podstatě soubor / množina / Joinpointů, pro které je spuštěna stejná Advice
Aspect - je tvořen kombinací Advice a Pointcut a představuje novou logiku chování programu, která je do aplikace vložena
Weaving - je proces vkládání Aspektů do aplikace
Target - představuje cíl nebo objekt, jehož chování je ovlivněno nějakým AOP kódem

Autorem tohoto konceptu je Gregor Kiczales a jeho vědecký tým Xerox Parc a produktem je populární jazyk AspectJ.

Využití AOP v JAVě použitím speciálního classloaderu -
Výše uvedený přístup obohacuje třídy o aspekty před použitím, tedy online. Aspekt není přítomen v každé instanci třídy.
K vložení aspektu se nejčastěji používá byte code enhancement nebo dynamické proxy. Příklad tohoto přístupu jsou např. AspectWerkz nebo JBoss AOP. Nevýhodou je nutnost mít speciální classloader jako v serveru JBoss nebo spouštět bytecod ne pomocí příkazu java , ale prostřednictvím startovacího skriptu daného AOP Frameworku AspectWerkz.

Návrat