Musim priznat ze je mimo moji mentalni kapacitu rozlusit jakym zpusobem by AOP melo resit problem tazatele, zkuste vyhovet tazatali a rozvest jak presne jeho problem pomoci AOP resit :-).
Jediny pro me viditelny link (podle me nefcni) je mit interceptor na PROTECTED metode (definovana v ramci Object) finalize(), nemam sice prilis zkusenosti s AOP, ale nezda se mi kombinace interceptoru a protected metody. diky VS 2011/9/22 Martin Kuba <[email protected]>: > 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 > -------------------------------------------------------------- > >
