Mar 04 2008

Patrón de diseño Iterador

Tag: C++, Informática, Informática teórica, Metodología y calidad, Patrones de diseño, ProgramaciónEmilio González Montaña @ 10:06
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No hay votaciones todavía)

Este post es el primero de una serie de posts relativos a los patrones de diseño Software. Elijo este patrón por ser uno de los más conocidos, incluso para la gente que desconoce los patrones de diseño o cree no haberlos usado nunca.

Todo el mundo que esté leyendo este post, alguna vez se ha enfrentado al problema de encapsular una estructura de datos, y por tanto, se ha enfrentado a uno de sus principales problemas, ¿cómo dejar usar una estructura de datos (normalmente recorriéndola) sin perder la encapsulación?. El patrón de diseño Iterador trata de responder a este problema (y alguno más de paso).

Anteriormente (me refiero a en lenguaje C), se desarrollaban listas enlazadas definiendo estructuras de datos como la siguiente:

  1. struct LISTA
  2. {
  3.     /** Dato del nodo de la lista, en este ejemplo un entero, pero podría ser cualquier otro. */
  4.     int dato;
  5.     /** Puntero al siguiente elemento de la lista. */
  6.     struct LISTA *siguiente;
  7. };

Continue reading “Patrón de diseño Iterador”


Jun 15 2007

Juego de la Vida

Tag: Autómatas celulares, Informática, Informática teórica, JAVA, ProgramaciónEmilio González Montaña @ 15:37
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No hay votaciones todavía)

Este mensaje es menos filosófico de lo que parece…

Para seguir la serie de autómatas celulares, ahora os presento el archiconocido Juego de la Vida de Conway (los neófitos en el tema, os recomiendo leer este árticulo de la Wikipedia):

Continue reading “Juego de la Vida”


Abr 20 2007

Cómo documentar el código

Tag: C++, Informática, Informática teórica, JAVA, Metodología y calidad, ProgramaciónEmilio González Montaña @ 7:44
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No hay votaciones todavía)

Introducción

A continuación explicaré una metodología para documentar código fuente, que aunque en principio supondré que es para C++, esto es lógicamente extensible a cualquier otro lenguaje (JAVA, C, PHP, …), ya sea orientado a objetos o no.

Los objetivos finales de la documentación dentro del código fuente serán:

  • Que el código quede documentado de modo que los que lean, mantengan, reparen, etc el código lo entiendan.
  • Poder extraer de manera automatizada la documentación, en un formato leible, como HTML, PDF, CHM, etc.
  • Que documentar sea una tarea fácil, y que no suponga un sobreesfuerzo, más allá de lo extrictamente necesario.

Continue reading “Cómo documentar el código”


Abr 17 2007

Conferencia sobre diagnosis de fallos

Tag: Doctorado, Eventos, Informática, Informática teórica, ProgramaciónEmilio González Montaña @ 7:44
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No hay votaciones todavía)

Escribo este mensaje para hacer publicidad del evento, de modo que si a alguién le interesa y está en Valladolid ese día (19 de Abril) pueda asistir. A continuación tenéis la información del evento:

Conferencia: FINDING SOFTWARE FAULTS: APPLYING FAULT DIAGNOSIS TO SOFTWARE TESTING

Continue reading “Conferencia sobre diagnosis de fallos”


Abr 03 2007

Al final todos votarán lo mismo

Tag: Autómatas celulares, Informática, Informática teórica, JAVA, ProgramaciónEmilio González Montaña @ 10:57
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (No hay votaciones todavía)

Este autómata celular trata de simular un sistema bipartidista (celdas blancas y negras), donde cuando una de las celdas “piensa” a quien votar, lo hace eligiendo aleatoriamente lo mismo que una de sus vecinas.

Iterando de este modo, al final se logran acuerdos:

Continue reading “Al final todos votarán lo mismo”


Entradas siguientes »