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

Patrones de Diseño para INYF

Patrones de Diseño para INYF

Lautaro Carro

August 16, 2019
Tweet

More Decks by Lautaro Carro

Other Decks in Programming

Transcript

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

    un problema común • A un problema que te ocurre solo a vos
  2. 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
  3. Patrón Builder Tipo de Creación Este patrón puede ser utilizado

    cuando necesitemos crear objetos complejos compuestos de varias partes independientes
  4. 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.
  5. Patrón Builder Construir Coche Construir Motor Construir Suspensión Construir Ruedas

    Construir Aire Acond. Construir Motor Construir …….
  6. 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).
  7. 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.
  8. 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
  9. 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.
  10. 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
  11. Ventajas • Ahorran Tiempo • Proporciona Calidad de Código •

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

    Más Complicado El Código De Lo Necesario • Antipatrones
  13. 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