lunes, 11 de abril de 2016

Patrones De Diseño






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.

Característica de un Patrón de diseño:

  • Estandarizar el lenguaje entre programadores.
  • Evitar perder tiempo en soluciones a problemas ya resueltos o conocidos.
  • Crear código reusable (excelente ventaja).
Tipos de Patrones de Diseño

Patrones de diseño creacionales: Son aquellos que abstraen el proceso de instanciación. Ellos ayudan a hacer un sistema independiente de como sus objetos son creados, compuestos y representados. Un patrón creacional de clase usa herencia para variar la clase que es instanciada, mientras un patrón creacional de objeto delegará la instanciación de otro objeto.
Los patrones creacionales se vuelven importante en sistemas que pasan a depender más de la compocisión de objetos que de la herencia de clases. Como esto sucede, el enfásis cambia de modificar difícilmente un conjunto fijo de comportamientos hacia definir un conjunto pequeño de comportamientos fundamentales que pueden ser compuestos dentro de cualquier numero de los más complejos. Creando así objetos con un comportamiento particular que requiere más que simplemente instanciar una clase.

Estos son los patrones de diseño creacionales:

  1. Abstract Factory.
  2. Builder.
  3. Factory Method.
  4. Prototype
  5. Singleton.

Patrones de diseño estructurales: Están enfocados en la gestión de la forma en la que las clases y los objetos se combinan para dar lugar a estructuras más complejas. Al igual que en los otros tipos de patrones, podemos hablar de patrones estructurales asociados a clases  y asociados a objetos. Los primeros utilizan la herencia mientras que los segundos se basan en la composición. Los patrones estructucturales asociados a objetos describen formas de componer los objetos para conseguir nuevas funcionalidades. La flexibilidad de la compocisión de estos objetos surge de la posibilidad de cambiar dicha composición en tiempo de ejecución, lo que es imposible con la composición estática tradicional de clases.

Estos son los patrones de diseño estructurales:

  6. Adapter o Wrapper.
  7. Bridge.
  8. Composite.
  9. Decorator.
  10. Facade.
  11. Flyweight.
  12. Proxy.

Patrones de diseño de comportamiento: Son aquellos que están relacionados con algoritmos y con la asignación de responsabilidades a los objetos. Describen no solamente patrones de objetos o de clases, sino que también engloban patrones de comunicación entre ellos. Al igual que los otros tipos de patrones, se pueden clasificar en función que trabajen con clases u objetos. La variación de la encapsulación es la base de muchos patrones de comportamiento. Cuando un aspecto de un programa cambia frecuentemente, estos patrones trabajan con un objeto que encapsula dicho aspecto, teniendo que definir por tanto, una clase abstracta que describe la encapsulación del objeto.

Estos son los patrones de diseño de comportamiento:

  13. Chain of Responsibility.
  14. Command.
  15. Interpreter.
  16. Iterator.
  17. Mediator.
  18. Memento.
  19. Observer.
  20. State.
  21. Strategy.
  22. Template Method.
  23. Visitor.

Para poder representar y ejemplificar  cada uno de los patrones de diseño utilizaremos diagramas de UML y el lenguaje de programación Java


 

No hay comentarios:

Publicar un comentario