Aspect oriented programming

Azi un coleg mi-a prezentat ceva ce se cheama Aspect oriented programming. Nu am inteles prea bine ce este, dar in aplicatie are rolul de audit.

Exemplu:
Utilizatorul Cosmin Popescu se autentifica in aplicatie si face modificari pe acolo. In aplicatie exista o pagina de audit unde actiunile facute de utilizator se pot vedea sub forma unui tabel.

Aplicatia este in java si conceptul de AOP este implementat in Spring

Ati folosit acest concept pana acum ?

Vad ca are use case-uri interesante


Cateva resurse. Include C#, Java si PHP

https://msdn.microsoft.com/en-us/magazine/dn574804.aspx

1 Like
  1. aspect-oriented, nu aspect-orientated
  2. am prins perioadele dinainte de aparitia sa, introducerea sa, si am observat lipsa de tractiune
  3. in afara Java nu am vazut sa se foloseasca pe scara mai extinsa
  4. chiar si programatorii java recunosc faptul ca exista metode mai simple de a rezolva aceleasi probleme
  5. am incercat sa folosesc in PHP mai demult, in afara de clasicul exemplu cu logarea nu am gasit utilizare pt un cod oop scris cat de cat responsabil
  6. in Python avem function decorators care sunt diferiti, dar mult mai naturali
  7. sa nu uitam, codul e scris pt a fi citit de oameni (mentenanta), deci se revomanda sa fie cat mai simplu, ori AOP ingreuneaza vizibil acest lucru
1 Like

În orice limbaj unde e implementat la runtime (cam peste tot) AOP e doar monkey-patching pompos. Eu zic că e bun doar pentru debugging în circumstanțe speciale, în rest e o povară.

3 Likes

So far, merci pt raspunsuri :slight_smile:


Articolul din Today Software Magazine a fost refacut.