Keresés

Hirdetés

!! SZERVERLEÁLLÁS, ADATVESZTÉS INFORMÁCIÓK !!
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!

Új hozzászólás Aktív témák

  • disy68

    aktív tag

    válasz hiperFizikus #10653 üzenetére

    Aspektus orientált programozásnak a lényege, hogy elkülönítsd az üzleti logikától oda nem illő részeket. Pl. logolás, biztonság, tranzakciókezelés, cache, stb. Arra, hogy ez a külön meghatározott funkcionalitás hogyan kerül a kódba (nem a legjobb megfogalmazás) arra java esetében 3 lehetőség van: compile alatt, class betöltés alatt vagy runtime.

    Compile alatt szükséges egy speciális fordító, hogy "bedrótozza" ezeket a kódrészleteket az általad meghatározott helyre.
    Class betöltés alatti megoldásnál speciális ClassLoader kell, ami a bytekódba fűzi bele a meghatározott részeket.
    Runtime alatt pedig proxy osztályokkal szokás megoldani. Ez az általam jobban preferált megoldás, mert itt nem kell semmi speciális összetevő, tisztán a java lehetőségeit használod, bár tény, hogy ad némi overhead-et a többi megoldáshoz képest.

    Természetesen a fentieket maga a használt implementáció fogja adni pl. AspectJ.

    Nem tudom Springgel foglalkoztál-e, ott is van AOP megoldás, nem olyan heavyweight versenyző, mint az AspectJ, csak runtime(proxy) módot támogat és csak bean-ekre használható.

Új hozzászólás Aktív témák