Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
Kartlan
Nivel 5


Edad: 43
Registrado: 09 Ago 2005
Mensajes: 176
Ubicación: Once
Carrera: Informática
argentina.gif
MensajePublicado: Lun Sep 05, 2005 7:14 pm  Asunto:  Patrones de diseño Responder citandoFin de la PáginaVolver arriba

Hola!... esto vendria a ser a cuento de uno de los temas centrales de la POO aplicada a desarrollos decentes. A quienes esten cursando Algoritmos y Programación 3... ya lo veran... para los demás nunca es malo conocer cosas simples.
La idea es que cuando me den ganas de compartir conocimiento agarro algun patron de diseño, les tiro un gráfico y una pequeña descripción (Todo buscado de la web y "condensado" a travez de mi intelecto infinitamente superior Rolling Eyes ). Así que abran el barril de "Conocimiento" y beban a mi salud!...

El problema que atacan los patrones de diseño son principalmente por el lado de la reusabilidad y confiabilidad de codigo. Los patrones son guias muy generales de clases o relaciones entre ellas que forman modelos en los que basar nuestros desarrollos. Lo más cercano a planos que podemos hacer, pues mezclan los conceptos de UML, con la POO llevandolos a la escala de puntos a cumplir. En si, son soluciones simples a problemas comunes que funcionan.


Aries Género:Masculino Gallo OfflineGalería Personal de KartlanVer perfil de usuarioEnviar mensaje privadoEnviar emailYahoo MessengerMSN Messenger
Kartlan
Nivel 5


Edad: 43
Registrado: 09 Ago 2005
Mensajes: 176
Ubicación: Once
Carrera: Informática
argentina.gif
MensajePublicado: Lun Sep 05, 2005 7:33 pm  Asunto:  Patron: Singleton Responder citandoFin de la PáginaVolver arriba

El Singleton casi que se explica solo, es una clase de la cual se requiere que exista una sola instancia y ninguna otra. Por ejemplo si quisieran hacer un objeto para modelar la unica compactera de una maquina, esta no puede ser creada cada vez que se necesita, sino unicamente cuando se instala en el gabinete, luego a lo largo de la vida util todos los que utilicen la maquina (remotamente o no) tendran que acceder a la misma y unica compactera. Además hay otros patrones que basicamente son "Multi-tons" que se encargan de limitar la cantidad de instancias que se pueden crear de una determinada clase, el Singleton es una simplificación de este.

El link de abajo es una implementación en Java que es ligeramente distinta al parrafo explicatorio siguiente, pero lo importante es que sepan sacar ideas claras, y las dudas se sacan pregutando. Además, ahora que me acuerdo, me encantaria que los programadores Java (este preferiria no tener que saber) y Python (este no se, y deseo aprender) de por ahi mandaran las diferencias de cada patrón en sus lenguajes.

El patrón se basa en la utilización de un constructor privado, y un metodo de clase con el cual se obtiene la instancia. Para continuar con las caracteristicas generales del patrón, este tiene un campo privado que se utiliza para almacenar una referencia a la instancia creada, un constructor privado, y un metodo de clase que es lo que le permite al patrón andar. El metodo generalmente se lo denomina GetInstance, por que devuelve la instancia. El momento en que se crea propiamente la instancia es una cuestion de implementación, puede hacerse cuando se carga la unidad o la primera vez que se llama al metodo GetInstance, o quien sabe cuantas otras implementaciones. Este parrafo es la descripción de UNA implementación.

Pues como decia el Prof. Lage, "nosotros los ingenieros no somos albañiles" refiriendose a que a un Ingeniero Civil jamas lo vas a ver poner un ladrillo y que programar hay que delegarlo hacia abajo, nosotros tenemos que enfocarnos en diseñar soluciones confiables. Pero por ahora hay que programar, programar... y programar.

Esto es solo un pequeño detalle del patrón singleton, y de los demas tambien va a ser corto, lo importante es que lo vean y si necesitan más información busquen en la web... que esta lleno.

http://www.elrincondelprogramador.com/articulos/docs/45/Singleton.gif


Aries Género:Masculino Gallo OfflineGalería Personal de KartlanVer perfil de usuarioEnviar mensaje privadoEnviar emailYahoo MessengerMSN Messenger
Kartlan
Nivel 5


Edad: 43
Registrado: 09 Ago 2005
Mensajes: 176
Ubicación: Once
Carrera: Informática
argentina.gif
MensajePublicado: Jue Sep 08, 2005 8:21 am  Asunto:  Patron: Strategy Responder citandoFin de la PáginaVolver arriba

Este es un lindo patrón. Principalmente se trata de darle a una clase comportamientos diferentes según que estrategia este usando, perimientod además agregar estrategias posibles, eliminarlas, y de esta manera hacer más flexibles las respuestas de nuestra clase ante diferentes situaciones.


Strategy.rar
 Descripción:

Download
 Nombre de archivo:  Strategy.rar
 Tamaño del archivo:  5.8 KB
 Bajado:  780 vez


Aries Género:Masculino Gallo OfflineGalería Personal de KartlanVer perfil de usuarioEnviar mensaje privadoEnviar emailYahoo MessengerMSN Messenger
tHe_ChOsEn_OnE
Nivel 8


Edad: 39
Registrado: 15 Nov 2005
Mensajes: 758
Ubicación: Frente a la PC
Carrera: Informática
CARRERA.informatica.png
MensajePublicado: Vie Dic 09, 2005 4:31 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Hola gente... estoy muy interesado en saber algo mas de patrones y metodos de diseño, ya que se me complico mucho un TP de Algo 2, porque todos nos pusimos a hacer cosas sin pensar en nada del diseño; y terminó siendo completamente distinto lo que hicimos a lo que comenzamos a hacer.
Lo que quisiera saber es si alguno tiene idea de como empezar a aprender a empezar a hacer un programa (que feo suena eso!), porque escucho por todos lados que la implementacion es lo ultimo que se debe hacer, que hay que diseñar primero, pero no se como!!! jejeje. O sea existe algun metodo de diseño, o uno lo inventa a su gusto? (lease tambien donde dice metodo de diseño, libro)
Bueno, creo q orientandome un poquillo seria mas que suficiente, porque estoy perdido y no se como empezar con esto, ya q por lo menos en las primeras materias no enseñan a diseñar, sino a programar

_________________
Image tHe_ChOsEn_OnE
Image Chat-Fiuba
No he de rendirme si caigo al andar... no estaré vivo si he de huir... Si por vivir no he de ser dueño de mi... mejor en pie morir!!! ( 8 ) Tierra santa

Capricornio Género:Masculino Rata OfflineGalería Personal de tHe_ChOsEn_OnEVer perfil de usuarioEnviar mensaje privado
Fhran
Administrador


Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
blank.gif
MensajePublicado: Vie Dic 09, 2005 5:06 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

**********

Es todo un tema...

En mi experiencia he aprendido a diseñar al mismo tiempo en el que implementaba... la verdad es que no nos enseñan muy bien como encarar el diseño de un sistema de gran escala. De todas las ideas que tuve al principio, antes de ponerme a programar, muy poquitas sobrevivieron sin serias modificaciones.

Los patrones de diseño son utiles pero con eso no te alcanza...

¿Porque no planteas el "problema" y veo si te puedo ayudar mejor?

Imagino que estaras por hacer el TP3 de Graphos...

***********

_________________
Image
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.

Aquario Género:Masculino Rata OfflineGalería Personal de FhranVer perfil de usuarioEnviar mensaje privado
tHe_ChOsEn_OnE
Nivel 8


Edad: 39
Registrado: 15 Nov 2005
Mensajes: 758
Ubicación: Frente a la PC
Carrera: Informática
CARRERA.informatica.png
MensajePublicado: Vie Dic 09, 2005 5:16 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Fhran escribió:
¿Porque no planteas el "problema" y veo si te puedo ayudar mejor?


No hay problema, es una cosa que me vengo planteando en general. Veo que cuando me pongo a hacer el sistema, termino perdidisimo, y en ciertos momentos me encuentro pensando "que estaba haciendo? para que estoy haciendo esto?", y muchisimas veces me encuentro tirando codigo que no servia para nada, no porque no ande ni nada por el estilo, si no que no pense bien el diseño e implementè un codigo que no tenia ninguna utilidad, aunque al principio pensaba que si...

Fhran escribió:
Imagino que estaras por hacer el TP3 de Graphos...


Por suerte con este no tuvimos muchos problemas, porque no modificamos casi nada la idea original, en el que tuvimos problemas fue el de listas (base de datos, Mandrafina)

Muchas gracias[/i]

_________________
Image tHe_ChOsEn_OnE
Image Chat-Fiuba
No he de rendirme si caigo al andar... no estaré vivo si he de huir... Si por vivir no he de ser dueño de mi... mejor en pie morir!!! ( 8 ) Tierra santa

Capricornio Género:Masculino Rata OfflineGalería Personal de tHe_ChOsEn_OnEVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.3170s ][ Pedidos: 22 (0.2274s) ]