Introducing AOP

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Cos'è un'Aspect (punto di vista) - - Dove è utile (cross-cutting)

    1 Group

    Introducing AOP - Presentation Transcript

    1. Introducing AOP
        • Aspect - oriented Programming
        • ...questione di “Punti di vista”
        • (Genova JUG, Luglio 2007)
        • Bonfante Fabio
    2. A cosa serve...
      • Supporta gli sviluppatori quando hanno a che fare con i famigerati “ cross-cutting concern ”
      • cross-cutting concern funzionalità che influenza trasversalmente le altre funzionalità di un sistema (es logging).
      • L'esistenza di un cross-cutting concern dipende quindi dalla suddivisione funzionale scelta.
      • (da qui appunto...questione di “punti di vista”)
    3. ...cos'è AOP
      • Insieme di tecniche per poter alterare il comportamento di un sistema, al fine di fornire le funzionalità che lo influenzano trasversalmente.
      • Racchiuse tipicamente
      • in un framework.
    4. Cos'è un'Aspect
      • Un modulo software che svolge le funzionalità corrispondenti a un cross-cutting concern (strutturato tipicamente a sua volta con un design OO)
    5. La ricetta di un Aspect
      • Su cosa intervenire
        • Target : oggetti interessati dall'Aspect
        • Join point : un punto durante l'esecuzione di un programma
      • Indicati tramite
        • Pointcut : predicato a cui corrispondono J Point
    6. La ricetta di un Aspect
      • Quando intervenire ad alterare flusso di esecuzione?
        • Advice : tipi di interventi dell'Aspect rispetto al JP
          • Before
          • After returning
          • After throwing
          • After ( finally )
          • Around
    7. Caratteristiche “desiderabili” per un framework AOP
      • Il sistema alterato dalle Aspect è totalmente inconsapevole della loro esistenza
      • Semplicità nel definire le Aspect
        • Testato per voi ;-) ... Spring AOP
    8. Spring AOP
      • Paricolarità/Precisazioni:
        • Aspect >> classe
        • Join Point >> metodi
      • Metodi per definire le Aspect
        • Tag XML nell'Application Context
        • Annotazioni nella classe che implementa la Aspect.
    9. Spring AOP – configurazione (for use with aspectj annotations)
      • Aggiungere nel classpath
        • aspectjrt.jar
        • aspectjweaver.jar
      • Aggiungere nell'applicationContext
        • <aop:aspectj-autoproxy/>
        • <bean name=”miaAspect” classname=”path.to.miaAspect”/>
    10. Spring AOP – esempio pratico
      • Un “servizio” di Business con 3 metodi
      • Un'Aspect che per il Logging
      • Un'Aspect “Crazy” per smanettare!
      • GOTO >>> Eclipse!
    11. Errori più comuni
      • Sintassi errata nelle annotazioni (ma ci si salva con l'eccezione!)
      • Pointcut sbagliato! (90% delle volte)
      • Target non presente nell'applicationContext
      • Target non caricato da Spring!
      • Configurazione di spring
        • aspectjrt.jar, aspectjweaver.jar non nel classpath
        • <aop:aspectj-autoproxy/> non specificato nell'applicationContext
    12. Cosa c'è ancora da sapere...
      • WARN gli oggetti target di spring in realtà sono proxy alle classi vere e proprie...
      • Utilizzo completo di AspectJ
      • Altri tipi di Pointcut
      • Introduction
      • ...
      • SPRING REFERENCE MANUAL

    + bfx81bfx81, 2 years ago

    custom

    1874 views, 0 favs, 3 embeds more stats

    Introduzione all'Aspect-oriented Programming

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 1874
      • 1835 on SlideShare
      • 39 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 78
    Most viewed embeds
    • 31 views on http://www.juggenova.net
    • 7 views on http://juggenova.net
    • 1 views on http://209.85.135.104

    more

    All embeds
    • 31 views on http://www.juggenova.net
    • 7 views on http://juggenova.net
    • 1 views on http://209.85.135.104

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories

    Groups / Events