Programowanie aspektowe z wykorzystaniem AspectJ


Details
Programowanie aspektowe (aspect-oriented programming, AOP) to paradygmat tworzenia programów komputerowych wspomagający separację zagadnień i rozdzielenie programu na części w jak największym stopniu niezwiązane funkcjonalnie.
http://photos2.meetupstatic.com/photos/event/6/5/3/d/600_443185917.jpeg
Tyle co do definicji. Część z nas słyszała o AOP, część używa go świadomie lub czasem nawet nieświadomie gdyż paradygmat aspektowy jest wszechobecny np. w Spring’u (o czym też wspomnę), EJB i wielu innych frameworkach.
Zacznę od podstawowych pojęć związanych z AOP i pokaże kilka przykładów z nimi związanych. Opowiem o problemach, jakie programowanie aspektowe pozwoliło mi rozwiązać i jak bardzo AOP może się przydać gdy toniemy w kodzie Legacy. W dalszej kolejności wspomnę o kilku bardziej zaawansowanych opcjach biblioteki AspectJ (takich jak zakres i kontekst aspektów) oraz o możliwości wprowadzania ograniczeń w kodzie w postaci kontraktów. Które w dużych (szczególnie międzynarodowych) projektach mogą pomóc ogarnąć chaos.
Prelegent - Damian Sińczak
Jestem programistą od prawie 6 lat. Od tamtego czas czasu poznałem parę technologii i napisałem kilka linijek kodu (nie z każdej jestem dumny). Napędza mnie ciągły pęd za technologią i coraz to nowszymi rozwiązaniami. Od samego początku jestem związany z Javą choć od jakiegoś czasu próbuję swoich sił ze Scalą oraz programowaniem funkcyjnym.
Obecnie pracuję w sektorze finansowym (Ceri International/Commerzbank) wprowadzając trochę nowości do skostniałego świata aplikacji bankowych.
Obecnie w ramach wychodzenia ze swojej strefy komfortu próbuję sił jako prelegent.

Programowanie aspektowe z wykorzystaniem AspectJ