close

AspectJ

Mergi la navigare Mergi la căutare

AspectJ este un limbaj de programare orientat pe aspecte, construit ca o extensie a limbajului Java creat la Xerox PARC . Un compilator AspectJ împinge noțiunea de aspect în codul mașinii virtuale, implementând astfel o noțiune de relație. Skin-urile în sine sunt scrise în Java extins prin generarea unui fișier java sau compilate cu cod mașină compatibil cu cel generat de compilatoarele Java.

Caracteristici AspectJ

  • Aspecte : Acestea sunt definite ca „învelișuri” de cod. Arata ca clase Java.
  • Joinpoint : puncte din codul Java unde un aspect poate intercepta clase.
  • Pointcuts - grupuri concatenate logic de puncte de unire.
  • Sfaturi : Acestea sunt bucăți de cod asociate cu pointcuts, care injectează un comportament nou în toate punctele de unire reprezentate de pointcut.
  • Declarații intertip-membri : permit unui aspect să definească complet câmpurile și metodele implementate pentru mai multe clase.

Avantaje și dezavantaje

Unele dintre avantajele limbajului AspectJ includ:

  • AspectJ vă permite să modelați referințe încrucișate, extinzând astfel posibilitățile OOP.
  • Este un limbaj concis și explicit conceput pentru a oferi avantajele modularității.

Pe de altă parte, limbajul AspectJ oferă următoarele dezavantaje:

  • Fără un instrument adecvat, programatorul nu va înțelege funcționalitatea întregului sistem. De exemplu, membrii intertip nu pot fi văzuți și nu pot fi niciodată utilizați.
  • Modelarea, planificarea și controlul sunt mult mai importante în faza de dezvoltare. Aspectele trebuie să fie recunoscute de către designeri, ceea ce ușurează sarcina programatorilor.
  • Aspectele pot fi folosite greșit. Un programator poate implementa funcționalități false în orice stadiu de dezvoltare și poate afecta o gamă largă a sistemului. Puterea POA poate fi greu de înțeles.

Compilatoare concepute pentru AspectJ

Există cel puțin două compilatoare AspectJ:

  • ajc o parte din instrumentele susținute de proiectul Eclipse și
  • abc , care este un compilator, optimizator și extensibil, produs la aspectbench.org.

Link- uri externe