Programació orientada a aspectes

De Viquipèdia
Dreceres ràpides: navegació, cerca

La programació orientada a aspectes (POA), més coneguda per les sigles en anglès (AOP - aspect-oriented programming ), és un paradigma de programació que permet separar el vessant tècnica (aspect en anglès) de les funcionalitats de l'aplicació.

L'objectiu de la programació orientada a aspectes és aconseguir separar un programa en funcionalitats el més reduïdes possible. Aquest objectiu ja es persegueix amb les tècniques tradicionals de programació, com la programació imperativa o la programació orientada a l'objecte, però aquesta separació dóna lloc a l'aparició de funcionalitats creuades, és a dir, crides a funcionalitats (procediments, funcions o mètodes) dins de l'especificació d'una funcionalitat, aquest terme es coneix en anglès com a cross-cutting.

La programació orientada a aspectes tracta de donar solució a les referències creuades entre funcionalitats diferents, amb la creació del concepte de punts d'execució (point cuts). Amb aquesta tècnica es pot substituir la crida a una funcionalitat dintre d'un altra, per un punt d'execució que permet modificar el flux d'execució del programa. Al codi que s'executa en arribar al punt d'execució se l'anomena advice (consell). A la unió del punt d'execució (pointcut) i el codi consell se l'anomena aspect (aspecte).


El concepte de programació orientada a aspectes va ser creat per Gregor Kiczales i el seu equip d'investigadors al Centre de recerca de Palo Alto, de la companyia Xerox. Aquest equip va desenvolupar també, el llenguate orientat a aspectes de propòsit general més popular, l'AspectJ.

Eines que utilitzen AOP[modifica | modifica el codi]

  • AspectJ extensió del llenguatge JAVA que permet la utilització de punts d'execució en aquest llenguatge.
  • Spring framework integra conceptes del paradigma d'orientació a aspectes, dintre del contenidor IoC.

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]