Ver Mensaje Individual
  #82 (permalink)  
Antiguo 28/03/2006, 11:00
gnfrs
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 9 meses
Puntos: 11
Estube indagando un poco para econtrarle una solución a este problema que se planteó sobre la clase de validación y me encontré con un texto que voy a citar a continuación:

Cita:
Para poder escribir código respetando la Ley de Demeter observaron que los conceptos que se entrecruzan entre varias clases deberían y tendrían que ser claramente encapsulados. Esto resultaría en una clara separación de los conceptos de comportamiento y de aquellos conceptos de la funcionalidad básica.

Por lo tanto la separación completa de conceptos fue área de interés de este grupo aún antes de que la POA existiera como tal. En 1995 dos miembros de este grupo, Cristina Lopes, actualmente integrante del grupo Xerox PARC, y Walter Huersch, presentaron un reporte técnico sobre separación de conceptos[13] incluyendo varias técnicas como filtros composicionales y PA para tratar con los conceptos que se entrecruzan. Este reporte identificó el tema general de separación de conceptos y su implementación, y lo propuso como uno de los problemas a resolver más importante en el diseño y desarrollo de software.
Cita:
La POA es un paradigma que recién está naciendo. Se están realizando las primeras experiencias prácticas para mostrar su aplicabilidad, y obtener datos empíricos que estimulen la investigación en el tema. La POA está en su primera etapa, donde constantemente surgen nuevos problemas, nuevas herramientas, nuevos contextos en los cuales es posible aplicar aspectos. Este panorama hace pensar que la programación orientada a aspectos se encuentra en mismo lugar que se encontraba la POO hace veinte años.
Cita:
La idea central que persigue la POA es permitir que un programa sea construido describiendo cada concepto separadamente.
El soporte para este nuevo paradigma se logra a través de una clase especial de lenguajes, llamados lenguajes orientados a aspectos (LOA), los cuales brindan mecanismos y constructores para capturar aquellos elementos que se diseminan por todo el sistema. A estos elementos se les da el nombre de aspectos. Una definición para tales lenguajes sería: Los LOA son aquellos lenguajes que permiten separar la definición de la funcionalidad pura de la definición de los diferentes aspectos.
Fuente: Tesis de Licenciatura de Fernando Asteasuain y Bernardo Ezequiel Contreras.


Claramente se puede ver que la separación de conceptos en una jerarquía importante de objetos puede ser resuleta gracias a POA (Programación Orientada a Aspectos), esto es un tema muchísimo más complejo de lo que se está hablando en este foro según me parece...

Estoy estudiando este tema desde hace unos días y me parece muy interesante este nuevo paradigma de programación. Ya que reúne las mejores técnicas de programación procedimental y orientada a objetos que es el tema que desató esta conversación.

Lo que puedo sacar de todo esto es lo siguiente:

php OO vs php tradicional
Ambas técnicas tienen sus pros y contras.
La programación orientada a aspectos es la solución más compleja a esta pregunta que, en sí, se compone por los mejores aspectos de la POO y la programación tradicional.

Para quienes dicen que Desarrollo WEB no es lo miemo que Desarrollo de Software, la respuesta es sencilla, POA se aplica a lenguajes como Java, C++, C#, VB.NET, PHP 4, PHP 5...

¿Alguna idea o comentario?