Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Patrones de Diseño para INYF

Patrones de Diseño para INYF

3275e53a5e20a36e5557ae86a69ca8ba?s=128

Lautaro Carro

August 16, 2019
Tweet

More Decks by Lautaro Carro

Other Decks in Programming

Transcript

  1. Patrones de Diseño Lautaro Carro Desarrollador .NET www.lautarocarro.com

  2. None
  3. ¿Qué son los Patrones de Diseño? SON SOLUCIONES

  4. Pero… ¿Solución a que?

  5. ¿Solución a que? • A un problema repetitivo • A

    un problema común • A un problema que te ocurre solo a vos
  6. None
  7. Patrón de Diseño: “Cada patrón describe un problema que ocurre

    una y otra vez en nuestro medio ambiente y, a continuación describe el núcleo de la solución a ese problema, de tal manera que se puede utilizar esta solución un millón de veces, sin tener que hacerlo de la misma manera dos veces” 1977, A Pattern Language, Christopher Alexander
  8. “Cada patrón describe un problema ...” 1 Problema 1 Patrón

    de Diseño
  9. “... que ocurre una y otra vez en nuestro medio

    ambiente ...”
  10. “... A continuación describe el núcleo de la solución a

    ese problema ...”
  11. “... De tal manera que se puede utilizar esta solución

    un millón de veces …”
  12. “... Sin tener que hacerlo de la misma manera dos

    veces.”
  13. Tipos de Patrones de Diseño Creación Estructura Comportamiento

  14. Patrones de Diseño de Creación Resuelven problemas relacionados con la

    creación de objetos.
  15. Patrones de Diseño de Estructura Se centran en problemas de

    cómo estructurar los objetos.
  16. Patrones de Diseño de Comportamiento Resuelven problemas relacionados con la

    comportamiento de los objetos.
  17. Patrón de Diseño Builder

  18. Patrón Builder Tipo de Creación Este patrón puede ser utilizado

    cuando necesitemos crear objetos complejos compuestos de varias partes independientes
  19. Patrón Builder Problema: Al crear varios objetos similares, es engorroso

    repetir las configuraciones básicas o en común. Solución: Crear un “Builder” de cada componente y poder utilizarlo varias veces.
  20. Patrón Builder

  21. Patrón Builder Construir Coche Construir Motor Construir Suspensión Construir Ruedas

    Construir Aire Acond.
  22. Patrón Builder Construir Coche Construir Motor Construir Suspensión Construir Ruedas

    Construir Aire Acond. Construir Motor Construir …….
  23. Patrón Builder

  24. Patrón Builder

  25. Patrón de Diseño Composite

  26. Patrón Composite Tipo de Estructura Este útil patrón permite crear

    y manejar estructuras de objetos en forma de árbol, en las que un objeto puede contener a otro(s).
  27. Patrón Composite Problema: Poder crear una estructura de árbol basado

    en componentes padres e hijos de un tipo específico. Solución: Crear un objeto con la funcionalidad de agregar dentro de él objetos hijos, o quitarlos, siendo este el objeto padre.
  28. Patrón Composite

  29. Patrón Composite Rama Hoja Agregar Hijo Quitar Hijo

  30. Patrón Composite Rama Hoja Rama Rama Rama Rama Hoja Hoja

    Hoja
  31. Patrón Composite

  32. Patrón de Diseño State

  33. Patrón State Este patrón resulta útil cuando necesitamos que un

    objeto se comporte de forma diferente dependiendo del estado interno en el que se encuentre en cada momento. Tipo de Comportamiento
  34. Patrón State Problema: Tener varios objetos iguales donde solo varía

    su comportamiento. Solución: Crear un objeto con un estado interno donde cada estado tenga un comportamiento distinto.
  35. Patrón State

  36. Patrón State Atacar: atk: 620 Volar: vel: 900 Atacar: atk:

    20 Volar: vel: 80
  37. Patrón State

  38. Repaso • Solución a un problema específico • Podes usar

    su implementación un millón de veces • No deberias crear 2 implementaciones de un patrón para la misma situación • Hay 3 tipos: De Creación, Estructura y Comportamiento
  39. Ventajas • Ahorran Tiempo • Proporciona Calidad de Código •

    Establecen Un Lenguaje Común • Evitan Que Se Repita Código
  40. Desventajas • No Son Balas de Plata • Pueden Hacer

    Más Complicado El Código De Lo Necesario • Antipatrones
  41. None
  42. Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite

    Decorator Facade Flyweight Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor
  43. ¿Preguntas?

  44. Muchas Gracias!! Lautaro Carro Desarrollador .NET www.lautarocarro.com