jueves, 17 de marzo de 2011

POO (sesion 8)

Patrones de diseño

Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Los patrones de diseño se pueden clasificar en 3 grupos:
  1. Patrones creacionales
  2. Patrones estructurales
  3. Patrones de comportamiento
Existen en total 23 patrones de diseño, con sus respectivas funciones y aqui pondre dos ejemplos.
  • Command: Este patrón permite solicitar una operación a un objeto sin conocer realmente el contenido de esta operación, ni el receptor real de la misma. Para ello se encapsula la petición como un objeto, con lo que además se facilita la parametrización de los métodos
Propósito: Encapsula un mensaje como un objeto, con lo que permite gestionar colas o registro de mensaje y deshacer operaciones, soportar restaurar el estado a partir de un momento dado, y Ofrecer una interfaz común que permita invocar las acciones de forma uniforme y extender el sistema con nuevas acciones de forma más sencilla




  • Mediator: Cuando muchos objetos interactúan con otros objetos, se puede formar una estructura muy compleja, con objetos con muchas conexiones con otros objetos. En un caso extremo cada objeto puede conocer a todos los demás objetos. Para evitar esto el patrón Mediator encapsula el comportamiento de todo un conjunto de objetos en un solo objeto.
Aplicabilidad:
  • Un conjunto grande de objetos se comunica de una forma bien definida, pero compleja.
  • Reutilizar un objeto se hace difícil por que se relaciona con muchos objetos.
  • El comportamiento de muchos objetos que esta distribuido entre varias clases, puede resumirse en una o variaspor subclasificación.




Antipatrones de diseño

Un antipatrón de diseño es un patron de diseño que invariablemente conduce a una mala solución para un problema.Los antipatrones se consideran una parte importante de una buena práctica de programación. Es decir, un buen programador procurará evitar los antipatrones siempre que sea posible, lo que requiere su reconocimiento e identificación tan pronto como sea posible, dentro del ciclo de vida del software.
El concepto de antipatrón se puede aplicar a la ingenieria en general, e incluso a cualquier tarea realizada por el hombre. Aunque no se escucha con frecuencia fuera del campo ingenieril, la noción está ampliamente extendida.



Entre estos patrones existen varias clasificaciones, en donde se encuentran numerosos antipatrones, a continuacion les dejo sus categorias:
  • Antipatrones de gestión
  • Antipatrones de gestión de proyectos
  • Antipatrones generales de diseño de software
  • Antipatrones de diseño orientado a objetos
  • Antipatrones de programación
  • Antipatrones metodológicos
  • Antipatrones de gestión de la configuración










martes, 15 de marzo de 2011

Taller de programacion

Diagrama de ejemplo con BOUML

Este es un ejemplo del diagrama hecho con el programa BOUML, donde podemos indentificar mas facilmente las clases, metodos y operaciones del programa.