Objetos

En su forma más general, un programa orientado a objetos es un conjunto de objetos pasándose mensajes para resolver un problema.

Si pensamos a la computadora como 4 objetos: un teclado, un mouse, un monitor y un gabinete, cada vez que apretamos una tecla del teclado o movemos del mouse, el teclado o el mouse le envían un mensaje al gabinete. El gabinete recibe el mensaje y lo procesa y a su vez le envía un mensaje al monitor, que puede ser según el caso dibuja un caracter o cambiá el ángulo de visión de un esapcio 3d.

El problema a resolver puede ser escribir este texto o mover el punto de vista de un personaje en un juego. Los controladores, la cpu y el monitor son los objetos. Las señales eléctricas entre los dispositivos son los mensajes.

¿Cómo hace para hacer todas esas tareas intermedias? No nos preocupa en un principio. Nosotros nos preocupamos por tipear, no cómo llegan los carcteres del teclado al monitor. O bien nos enfocamos en mover el mouse a la velocidad correcta que nos permita observar el paisaje 3d de manera satisfactoria, no los cálculos matemáticos para que ese mundo virtual sea verosímil. A esto de preocuparnos por el qué y no por el como, se lo suele llamar declaratividad. A medida que vayamos adquiriendo más experiencia en el desarrollo de soluciones, vamos a sentirnos tentados a pensar primero el “como” y mirar con desdén el que. Esto hace que nuestras soluciones se vuelvan difíciles de mantener y que de a poco vayamos perdiendo el encanto de lo simple. Por eso conviene siempre no perder de vista el “que” antes de poner el ojo en el “como”.

Los objetos no tienen que ser réplicas de la realidad, alcanza con que sean metáforas que nos permitan resolver un problema de la manera más simple posible y que fáciles de leer cuando alguien o uno mismo tenga que hacer algún ajuste en la solución o solucionar un problema nuevo con estos objetos.

Las metáforas que elijamos van a condicionar profundamente nuestra solución y nuestro estado de ánimo en el futuro.

Etiquetas: , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: