jueves, 2 de agosto de 2007

En este tema tratare de explicar de forma muy general como funciona el nuevo paradigma POA, sin profundizar en mucho en el tema, ademas tengo que dejar tela para otros post. :P

El término POA es usado para referirse a varias tecnologías relacionadas como los métodos adaptivos, los filtros de composición, la programación orientada a sujetos o la separación multidimensional de competencias, no es un paradigma en si, ni tampoco una expansion de la programacion orientada a objetos, es una nueva metodología de programación que aspira a soportar la separación de competencias para los aspectos, esta expansion se da debido a que en a POO se escribe bastante codigo para realizar una accion en si, lo cual ocasiona que ese codigo se disperse y se vuelva dificil de controlar para programacion, los objetos a modo de ejemplo se pueden hacer referencia a un animal, en este caso un perro, con sus distantas caracteristicas, a esas caracteristicas son conocidas en POA como Aspectos, como bien se sabe un perro en toda su vida util va cambiando su apariencia, pasa de ser un cachorro a un perro adulto, por lo cual sus caracteristicas/aspectos dejan de ser las mismas en forma de metafora la POA trabaja exactamente igual.

La ventaja que tiene POA sobre otros paradigmas es un mayor control sobre el codigo del programa, y su objetivo principal es manejar los aspectos de forma independiente para aumentar su optimizacion en el manejo de los mismos.

Actualmente el desarrollo de esta nueva metologia es bastante analoga con respecto a lo que fue POO en su tiempo, con forme mas se va solidificando el paradigma se va implementando en otros lenguajes de programacion que ya soportan POO.

El lenguaje que mejor soporta el paradigma es el Spring, pero haciendose de ma~as para poder utilizarlo, ya que no lo implementa tal cual, si no que utiliza tuberias de XML para poder ser utilizado en la POA, AspectJ es otro lenguaje de programacion desarrollado por IBM Eclipse, el cual esta basado en Java de Sun Microsystems, utiliza un JDK que trae incorporado el soporte del paradigma de POA, el IDE de Eclipse es muy conocido por su gran facilidad de uso y potencia, existe un plugin para Eclipse el cual esta enfocado al desarrollo de AspectJ, asi como el IDE Eclipse puede utilizarse tanto en Windows como en GNU/Linux, de igual forma se puede usar el plugin que lleva por nombre AJDT.

AspectPHP y AspectC no cuentan con el mismo tiempo de desarrollo que AspectJ y Spring, por lo cual no tienen un soporte optimo para implementar POA, pero puede realizar algunas caracteristicas del paradigma, excepto AspectPHP que no puede soportarlo de manera funcional.

Este nuevo paradigma es sin duda el futuro de la programacion orientada a objetos, debido al enfoque tan especial que tiene al optimo desempe~o del codigo y su lectura, pero aun falta mucho por desarrollar y el tiempo es oro, pero al paso que va, quizas en un futuro no muy lejano ya se pueda desarrollar a fondo aplicaciones con un alto grado de desempe~o al mas puro estilo de POO.

Saludos.

Wikipedia: Programacion Orientada a Aspectos
PDF:Visión General de la Programación Orientada a Aspectos
aprender-programacion.blogspot.com
programemos.com

2 comentarios :

  1. Anónimo dijo...

    Hola Justo, ps la verdad me parecio interesante la info que pusiste, honestamente e oido bueno leido muy pocas veces de programación orientada a aspectos, y ps esta padre y muy interesante, sale ps cuidate mucho, y ya no seas tan asi ps.. ja,ja,ja,

    Atte: La Sra. de Arjona.
    P.S. Leynizit ps, pa que entiendas.

  2. Pablo dijo...

    Un post muy interesante. No conocia la programación de este tipo, y la verdad, me resulta algo complicada, pero será cuestión de ir probando. Un saludo.