[pyar] Programación Orientada a Aspectos (POA)

Roberto Allende rallende en menttes.com
Mie Sep 22 17:20:37 ART 2010


El mié, 22-09-2010 a las 11:29 -0300, Nicolas Sarubbi escribió: 
> Hola!! estoy con ganas de aprender algo nuevo, para pasar el rato, y
> me interesó la programación orientada a aspectos, aunque no tengo la
> más mínima idea de lo que se trata. ¿Alguien conoce algo al respecto?
> ¿Vale la pena? ¿se usa? ¿Pueden recomendarme algún tutorial, manual,
> curso, libro, librería, framework, o lo que sea? Tanto sobre POA en
> sí, como su implementación en Python. De ser posible en español (al
> menos para un primer acercamiento).
> 
> gracias... nico.

Hola

Tu pregunta está muy buena y es una excelente oportunidad para tratar
cuestiones conceptuales y decisiones de diseño del lenguaje. 

Lennart Regebro escribio lo siguiente en stackoverflow:
"Static typing" in Python can only be implemented so that the type
checking is done in run-time, which means it slows down the application.
Therefore you don't want that as a generality. Instead you want some of
your methods to check it's inputs. This can be easily done with plain
asserts, or with decorators if you (mistakenly) think you need it a lot.

There is also an alternative to static type checking, and that is to use
an aspect oriented component architecture like The Zope Component
Architecture. Instead of checking the type, you adapt it. So instead of:

assert isinstance(theobject, myclass)

you do this:

theobject = IMyClass(theobject)

If theobject already implements IMyClass nothing happens. If it doesn't,
an adapter that wraps whatever theobject is to IMyClass will be looked
up, and used instead of theobject. If no adapter is found, you get an
error.

This combined the dynamicism of Python with the desire to have a
specific type in a specific way.

Fuente:
http://stackoverflow.com/questions/1275646/python-3-and-static-typing

Zope es un framework para desarrollar aplicaciones web, es orientados a
componentes y hace una implementación de orientación a aspectos, como
describre regebro. 

Zope tiene 10 años y en el ultimo par ha evolucionado mucho y en
diferentes direcciones. Una de las evoluciones ha sido desacoplar
componentes por lo que, ahora es posible reusar componentes y conceptos
de Zope de forma aislada. Es decir, en aplicaciones que no sean Web.

Precisamente de eso voy a hablar en la charla
"Reusando componentes Zope fuera de Zope (y la web) (#24)"
que se va a presentar en PyCon Argentina:
http://ar.pycon.org/2010/conference/schedule/event/66/

el Sábado 16 de octubre en el Anfiteatro 2 de la sede centro de la
Universidad Siglo 21, Ciudad de Cordoba. Mas info sobre Pycon Argentina
en http://ar.pycon.org/2010

Saludos
r.


--
http://robertoallende.com




More information about the pyar mailing list