Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Aop

Iniciado por Astat, 10 de Marzo de 2004, 03:39:03 PM

« anterior - próximo »

Astat

 Aunque lleva ya tiempo propuesto, parace que poco a poco va ganando fuerza esta nueva metodologia de programacion orientada a "Aspectos", que parece ser una abstraccion por encima de los objetos (las clases del c++ vamos) de la antigua OOP, para relacionar objetos comunes.

Para mas datos : http://www.aspectc.org/

CoLSoN2

 podrías explicar un poco de qué va la AOP esta? en el faq de la web no lo mencionan..
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Astat

 Por lo que se, los tres pilares de la AOP son: pointcuts, advice, y los aspect mismamente. Un ejemplillo de algo basico:

primero un poco de c++ de toda la vida... (ole)


class cUNO
{
public:
 void foo1()  { printf("Hola\n"); }
 void foo2()  { printf("Mundo\n"); }
};

int main ()
{
 cUNO c1;

 c1.foo1();

 printf ("\n\n");

 c1.foo2();
}



el primer aspect y uso de advice :huh:


aspect aspectoUNO
{
 advice execution("void %::foo%()") : after()
 {
   printf("aspectoUNO::after()\n");
 }

 advice execution("void %::foo%()") : before()
 {
   printf("aspectoUNO::before()\n");
 }
};


El siguiente codigo daria la siguiente salida por consola:


aspectoUNO::before()
Hola
aspectoUNO::after()


aspectoUNO::before()
Mundo
aspectoUNO::after()


Mas o menos vereis que lo que hace "advice execution" (% es un comodin). Podemos llamar gracias a el funciones en los eventos after(), before() y tambien around(). Este es el ejemplo mas chorra que se me ocurria...  (nooo)

CoLSoN2

 yo eso qué tiene de bueno? digo yo que se puede "simular" usando C++ no?
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

AlexHdez

 Ademas de que el segundo codigo es bastante mas largo que el codigo en c++ normal no?

Un saludo

Grugnorr

 Tratando el tema de los Atributos en C# (metainformación con la que marcas clases//métodos, etc y que puedes recuperar//investigar en ejecución) el experto en cuestión los enclavó en Aspect Programming. Mañana le echo un ojo a la web y a ver si saco algo en claro


PD:Purple# usa Aspect Programming, por lo que le entendí hay cosas para las que genera código en ejecución y lo compila y ejecuta al momento....
hat the hells!