Objetos 1.0

¿Objetos, una moda pasajera?

Hoy en día están muy de moda pero, ¿son una moda en realidad?.

No, en mi opinión no lo son.

He visto muchas modas informáticas pseudo-revolucionarias que, por ser solamente modas, duraron nada.

Los objetos vinieron para instalarse y no por decisión de una empresa o un grupo de investigadores trasnochados. Se instalaron por peso propio.

Hace unos años, una solución informatizada, un programa, era planteado como un conjunto de actividades coordinadas que actuaban sobre flujos de datos. El resultado de todo ello era algo muy abstracto, los datos en la vida real no andan por ahi paseando solos alegremente, muy dificil de entender entre los desarrolladores y ni hablar del cliente.

Luego llegaron los objetos.

Ocurre que la programación orientada a objetos (POO), es lo más similar a lo que ocurre en el mundo real donde no existen funciones aisladas y con entidad propia. Lo que existe son objetos que tienen funciones parra llevar a cabo determinadas tareas y que al interactuar con otros objetos consiguen algún comportamiento combinado mucho más complejo que la suma de las posibilidades de cada objeto por separado. Tecnicamente esto se denomina colaboración.

Esto es sólo una perspectiva de la tecnología de objetos desde el punto de vista de un contexto global, cómo estamos tratando de diseñar e implementar aplicaciones de una manera más parecida a la realidad.

Pero existen otras perspectivas, otras miradas, de esta tecnología.

Para los informáticos la POO ofrece muchos beneficios, entre ellos podemos citar los siguientes:

  • Encapsulamiento: esto significa que todo lo concerniente a un objeto está “encerrado” dentro de él y el entorno, lo de afuera, no tiene manera de acceder al mismo. Si el entorno no puede acceder a él, cualquier cambio que hagamos en el código interno de un objeto no será visible desde afuera o sea, cualquier cambio que hagamos no impactará en el resto del código.
  • Reutilización: cuando tenemos objetos genéricos, los de las capas de servicio (esto lo discutiremos en otra oportunidad), debido a que todo lo que hacen y necesitan, está encapsulado en el propio objeto, puede volver a usarse en otra oportunidad donde lo necesitemos. Por ejemplo si tenemos un objeto que encapsula todos los datos de un cliente y su almacenamiento persistente, cada vez que tengamos la necesidad de incorporar en un sistema el concepto de cliente, podemos implementarlo volviendo a usar (reutilizando) nuestro objeto cliente, sin programar una sola línea.

Estas son algunas de las ventajas que nos ofrecen y las cité en este momento porque para cualquiera que haya programado alguna vez una aplicación sabrá valorarlas.

Antes de terminar creo conveniente dejar claro que es un objeto.

Objeto: cualquier concepto, cosa o abstracción con límites bien definidos y con sentido para el problema que estamos tratando.

En principio esta definición no parece decir mucho al hablar de “cualquier cosa” pero, esa es la realidad. Un objeto puede ser cualquier cosa que tenga sentido dentro del contexto de la solución que estamos diseñando. O sea, un objeto puede ser; una persona, un automóvil, una carpeta de archivos, una política de venta, un usuario, una venta, un sensor, un puesto de trabajo, etc.

¿Cuáles son los objetos que debemos usar en una aplicación?

Bueno eso dependerá de la aplicación que tenemos que diseñar y para poder determinarlos hay diversas técnicas de análisis y diseño orientado a objetos (ADOO). La tecnología de objetos popularizó mucho las herramientas de implementación y desarrollo pero, los conceptos teóricos y las distintas técnicas de análisis y diseño no son tan conocidas. Ellos son absolutamente necesarios para poder obtener un producto software que funcione correctamente y aproveche todos los beneficiones de los objetos.

La idea de estas publicaciones es ir dando algunos de esos conceptos teóricos y comentando tales técnicas aplicadas en forma práctica sobre situaciones concretas. Espero que resulte interesante, nos vemos en la próxima.

Tags:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© VB-MUNDO – Visual Basic y mucho más
CyberChimps