Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

¿Qué son los Patrones de Diseño? SON SOLUCIONES

Slide 4

Slide 4 text

Pero… ¿Solución a que?

Slide 5

Slide 5 text

¿Solución a que? ● A un problema repetitivo ● A un problema común ● A un problema que te ocurre solo a vos

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

“Cada patrón describe un problema ...” 1 Problema 1 Patrón de Diseño

Slide 9

Slide 9 text

“... que ocurre una y otra vez en nuestro medio ambiente ...”

Slide 10

Slide 10 text

“... A continuación describe el núcleo de la solución a ese problema ...”

Slide 11

Slide 11 text

“... De tal manera que se puede utilizar esta solución un millón de veces …”

Slide 12

Slide 12 text

“... Sin tener que hacerlo de la misma manera dos veces.”

Slide 13

Slide 13 text

Tipos de Patrones de Diseño Creación Estructura Comportamiento

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Patrones de Diseño de Estructura Se centran en problemas de cómo estructurar los objetos.

Slide 16

Slide 16 text

Patrones de Diseño de Comportamiento Resuelven problemas relacionados con la comportamiento de los objetos.

Slide 17

Slide 17 text

Patrón de Diseño Builder

Slide 18

Slide 18 text

Patrón Builder Tipo de Creación Este patrón puede ser utilizado cuando necesitemos crear objetos complejos compuestos de varias partes independientes

Slide 19

Slide 19 text

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.

Slide 20

Slide 20 text

Patrón Builder

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Patrón Builder

Slide 24

Slide 24 text

Patrón Builder

Slide 25

Slide 25 text

Patrón de Diseño Composite

Slide 26

Slide 26 text

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).

Slide 27

Slide 27 text

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.

Slide 28

Slide 28 text

Patrón Composite

Slide 29

Slide 29 text

Patrón Composite Rama Hoja Agregar Hijo Quitar Hijo

Slide 30

Slide 30 text

Patrón Composite Rama Hoja Rama Rama Rama Rama Hoja Hoja Hoja

Slide 31

Slide 31 text

Patrón Composite

Slide 32

Slide 32 text

Patrón de Diseño State

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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.

Slide 35

Slide 35 text

Patrón State

Slide 36

Slide 36 text

Patrón State Atacar: atk: 620 Volar: vel: 900 Atacar: atk: 20 Volar: vel: 80

Slide 37

Slide 37 text

Patrón State

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

Ventajas ● Ahorran Tiempo ● Proporciona Calidad de Código ● Establecen Un Lenguaje Común ● Evitan Que Se Repita Código

Slide 40

Slide 40 text

Desventajas ● No Son Balas de Plata ● Pueden Hacer Más Complicado El Código De Lo Necesario ● Antipatrones

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

¿Preguntas?

Slide 44

Slide 44 text

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