jueves, 31 de marzo de 2011

Semana 9 Programacion OO - Patrones de Diseño - Clase

Un patrón es algún evento, suceso, objeto, en sí cualquier cosa que se repite en el tiempo.
Por ejemplo, en una fábrica se pueden producir diferentes tipos de artículos, por ejemplo, un jabón. El producto puede ir desde un jabón neutro, hasta uno aromatizado. Para todos se sigue un patrón el cual varía solamente al final, cuando se generan productos concretos desde un producto base. Entonces, se puede decir que el patrón es toda la línea de producción, ya que es un proceso recurrente que tiene como resultado uno o varios productos.

El mundo del software no es la excepción, existen problemas recurrentes a los cuales puede aplicarse un patrón, dichos patrones reciben el nombre de Patrón de Diseño.

"Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software. Son una descripción de clases y objetos comunicándose entre sí adaptada para resolver un problema de diseño general en un contexto particular."

Los patrones nos brindan soluciones (probadas) a problemas en el desarrollo de software los cuales están sujetos a contextos similares. Por ejemplo, un software de llenado se formas, recibos, facturas, cheques, etcétera, todos pueden tener una finalidad diferente, pero todos tienen un patrón parecido para el llenado de información por lo que su codificación puede ser parecida o la misma; a todos los anteriores se les puede aplicar un patrón de diseño igual.

Existen tres clases de patrones de diseño:
  • De creación: conciernen al proceso de creación de objetos.
  • De estructura: tratan la composición de clases y/o objetos.
  • De comportamiento: caracterizan las formas en las que interactúan y reparten responsabilidades las distintas clases u objetos.

Algunas de las ventajas de usar patrones de diseño son:

Indican cómo resolver un problema particular utilizando un pequeño número de clases relacionadas de forma determinada, pero no indican cómo diseñar un sistema completo, sino sólo aspectos puntuales del mismo.
Facilitan la re utilización de las clases y del propio diseño.
La propia estructura del patrón es reutilizada cada vez que se aplica.

A pesar de ser muy útiles, rara vez se nota su efecto sobre el código y es casi imposible saber que patrón fue utilizado en su desarrollo. También suele ser necesario programas más clases que las necesarias y se produce una sobrecarga en el código

En mi proyecto 

Singleton 


El singleton es un patron muy comun ya que al momento de utilizar el programa solo estas realizando un proceso. 

Diagrama del Singleton 
Composite

Este patron me sirve porque funciona como un arbol entre los objetos.

Este patrón se usa cuando los objetos tienen cierta jerarquía en el código y cuando ciertas operaciones se realizan en uno o varios objetos.

un ejemplo del diagrama

Iterator

Bueno este patron se puede usar como un lista.. yo lo entiendo que lo puedo aplicar en la rentas porque el socio puede llevarse varias peliculas.



Bueno esta entrada fue muy complicada por tener que interpretar los patrones. Espero no averme equivocado y si aun puedo usar patrones seria de gran ayuda sus comentarios..

http://es.wikipedia.org/wiki/Patrón_de_diseño
http://es.wikipedia.org/wiki/Iterador_(patrón_de_diseño)
http://es.wikipedia.org/.../Composite_(patrón_de_diseño)
http://es.wikipedia.org/wiki/Singleton

Saludos :p

3 comentarios:

  1. quizas pueda servirte el builder
    http://es.wikipedia.org/wiki/Builder_(patr%C3%B3n_de_dise%C3%B1o)

    ResponderEliminar
  2. Tienes razon.. me servira ese patron... no lo avia visto :S

    Gracias :P

    ResponderEliminar