jueves, mayo 25, 2006
Objetos II
viernes, mayo 12, 2006
Objetos I
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.
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.
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. 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).
Bueno poco a poco iremos viendo algo más sobre el mundo de los objetos.
Los saludo y que la pasen bárbaro.