Dne 21.9.2011 15:49, Michal Eibl napsal(a):
Kniha je tu http://www.manning.com/laddad2/
zdrojaky jsou tam ke stazeni, tohle je konkretne z 
ch02\workspace\Section2.4.3LoadTimeWeaving

On 21.9.2011 15:04, Libor Jelinek wrote:
Můžete to s těmi aspektovými frameworky a weak a phantonovými nápady
rozvést? To se přiznám, že už je na mě příliš.... Ohledně referencí
vím, že existují 4 typy referencí, ale aspektové programování slyším
poprvé....

Pro pochopení principu mi přijde dobrá i kapitola o aspektovém programování
z dokumentace Springu:
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html

Terminologie AOP mi přijde podivuhodně nestravitelná, dost dlouho mi trvalo,
než jsem pochopil, že "cut across multiple types and objects" v podstatě
znamená, že jsem schopen pomocí nového specifikačního jazyka nadefinovat, aby se
před, po nebo místo volání zvolených metod volal můj kód.

Pěkný příklad jsou databázové transakce, ve Springu je pomocí AOP nastaveno,
že když se vstupuje do libovolné metody označené anotací @Transactional,
tak se zahájí transakce (pokud už nebyla zahájena), a když se z té metody
vystupuje, zase se transakce ukončí. A to lze specifikovat na jednom místě,
místo rozesetí stejného kódu do spousty metod.

Podobně bych mohl pomocí AOP říci, že se má třeba změřit doba trvání všech 
metod,
jejichž jméno začíná na "a" a mají tři parametry. Nebo že má být zapsáno do 
logu volání
libovolné metody určité třídy. Nebo že se má poslat email kdykoliv bude
zavolána metoda, jejíž parametr je typu TopSecret. A tak podobně.

Prostě v jednom aspektu popíšu nějak množinu metod (pointcut) a
co se má stát a jestli se to má stát před, po nebo místo volání metody (advice).


Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CERIT-SC                               Martin Kuba
Institute of Computer Science    email: [email protected]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem