Mostrando entradas con la etiqueta objetos. Mostrar todas las entradas
Mostrando entradas con la etiqueta objetos. Mostrar todas las entradas

sábado, 22 de febrero de 2014

Patrón de diseño Singleton [Incluye descarga de los ejemplos]

Singleton

Singleton es uno de los patrones diseño más fáciles de aplicar, pero no por ello debe usarse exhaustivamente. Debemos aprender cuándo y porqué hacer uso de este patrón.

Como característica principal del mismo tenemos:
Singleton restringe la creación de instancias de una clase, limitando a que sólo pueda crearse una única instancia.

He realizado un video que explica con mayor detalle la aplicación de Singleton. En tal video se explica cómo se ha integrado este patrón a dos aplicaciones creadas usando Java:

Y es posible descargar el código de tales aplicaciones desde el siguiente enlace:

En caso de tener dudas, puede comentar en el video o aquí mismo.


domingo, 29 de julio de 2012

1.2. Cada objeto tiene una interfaz.

1.2. Cada objeto tiene una interfaz

Los objetos son únicos, no tiene sentido tenerlos por duplicado. Sin embargo, sí es importante considerar las características y comportamientos comunes de estos: lo que les hace pertenecientes a una misma clase. Esta idea se uso incluso en el primer lenguaje orientado a objetos, Simula-67, con la palabra reservada class.

Simula, como su nombre lo indica, fue creado para desarrollar simulaciones, como el clásico "problema del cajero". Aquí se tiene un grupo de cajeros, clientes, cuentas, transacciones y unidades de moneda (es decir, un montón de objetos). Éstos objetos pueden agruparse en "clases de objetos", y de allí proviene la palabra reservada class.

Crear tipos de datos abstractos (clases) es un concepto fundamental de la POO. Éstos trabajan como tipos de datos predefinidos: así es posible crear variables de un tipo (los llamados objetos o instancias), y manipular estas variables (mediante el envío de mensajes o peticiones).

Cada objeto pertenece a una clase en particular, lo que define sus características y comportamientos.

Prácticamente todos los lenguajes de programación orientados a objetos usan la palabra reservada class, y por lo general, los que no, usan la palabra reservada type; por lo que podemos relacionar dichos términos entre sí.

** Hay quienes suelen hacer distinción, alegando que type determina la interfaz; mientras que class es una implementación particular de dicha interfaz.

1.1. El progreso de abstracción.

1.1. El progreso de abstracción

Es bueno saber que los lenguajes de programación nos simplifican mucho el trabajo. De no ser por ellos, deberíamos tratar con el ordenador usando comandos sumamente extraños y un tanto extensos incluso para pequeñas instrucciones.

En un primer momento, surgió el mencionado lenguaje ensamblador, el cual viene a ser una abstracción de la máquina subyacente.

Como sabemos, el “lenguaje máquina” se corresponde con el “lenguaje binario”. Lo que quiere decir que, las instrucciones directas al ordenador deberían expresarse en 1s y 0s.

Lo que el lenguaje ensamblador hizo es implementar una representación simbólica de dichos códigos de máquina binarios.

Muchos lenguajes llamados “imperativos” le siguieron (tales como Fortran, BASIC y C). Éstos representaban abstracciones del lenguaje ensamblador, lo que suponía grandes mejores. Sin embargo, aún se requería idear la solución en términos más del ordenador que en términos del problema. Esto es lo que se conoce como un lenguaje de “bajo nivel”.

1: Introducción a los Objetos.

1: Introducción a los Objetos

Es comprensible que a los ordenadores no se les haya atribuido mucha importancia en sus inicios. Éstos resultaban poco productivos y era complicado el acceso a ellos, incluso no recomendable para las empresas.

Sin embargo, los tiempos han cambiado, tanto que nadie habría imaginado las características de las que se goza ahora.
Los ordenadores han dejado esa simplicidad de máquinas, y corresponden ahora a las herramientas más útiles. Son además un entrenamiento para nuestra mente. Interactuar con ellos puede ayudarnos a desarrollar grandes capacidades (pues si así lo deseamos, le daremos un buen uso).

El autor del libro (Bruce Eckel) considera a los ordenadores como medios de expresión. Y era de esperarse, ¿cierto? Pues claro. Estamos hablando de “lenguajes” de programación. Nos comenta además que, aquel movimiento de usar el ordenador como medio de expresión, se ve mucho más encarecido en los lenguajes POO.