You are on page 1of 15

Patrones de diseo para C#

Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

Introduccin a los patrones de diseo


1. Design patterns o patrones de diseo 2. Descripcin de los patrones de diseo 3. Catlogo de patrones de diseo 4. Cmo escoger y utilizar un patrn de diseo para resolver un problema 5. Organizacin del catlogo de patrones de diseo 17 19 20 22 24

Caso de estudio: venta online de vehculos


1. Descripcin del sistema 2. Cuaderno de carga 3. Uso de patrones de diseo 27 28 29

Introduccin a los patrones de construccin


1. Presentacin 2. Problemas ligados a la creacin de objetos 2.1 Problemtica 2.2 Soluciones propuestas por los patrones de construccin 33 34 34 35

El patrn Abstract Factory

www.ediciones-eni.com

Ediciones ENI

1/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de uso 5. Ejemplo en C#

37 37 40 40 41 41 41 42

El patrn Builder
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de uso 5. Ejemplo en C# 49 49 52 52 53 53 54 55

El patrn Factory Method

www.ediciones-eni.com

Ediciones ENI

2/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de uso 5. Ejemplo en C#

61 61 63 63 64 64 64 65

El patrn Prototype
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboracin 4. Dominios de uso 5. Ejemplo en C# 69 69 72 72 73 73 73 74

El patrn Singleton

www.ediciones-eni.com

Ediciones ENI

3/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participante 3.3 Colaboracin 4. Dominio de uso 5. Ejemplos en C# 5.1 Documentacin en blanco 5.2 La clase Comercial

79 79 81 81 81 81 82 82 82 83

Introduccin a los patrones de estructuracin


1. Presentacin 2. Composicin esttica y dinmica 87 88

El patrn Adapter
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 91 92 94 94 95

www.ediciones-eni.com

Ediciones ENI

4/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C#

95 96 96

El patrn Bridge
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 101 101 105 105 106 106 106 107

El patrn Composite
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 113 113 116 116 117 117

www.ediciones-eni.com

Ediciones ENI

5/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

4. Dominios de aplicacin 5. Ejemplo en C#

119 120

El patrn Decorator
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 123 123 128 128 129 129 129 130

El patrn Facade
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 133 133 136 136 137 137

www.ediciones-eni.com

Ediciones ENI

6/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

4. Dominios de aplicacin 5. Ejemplo en C#

138 139

El patrn Flyweight
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominio de aplicacin 5. Ejemplo en C# 143 143 146 146 147 147 147 148

El patrn Proxy
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 153 153 157 157 158 158

www.ediciones-eni.com

Ediciones ENI

7/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

4. Dominios de aplicacin 5. Ejemplo en C#

158 159

Introduccin a los patrones de comportamiento


1. Presentacin 2. Distribucin por herencia o por delegacin 165 166

El patrn Chain of Responsibility


1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 169 169 173 173 174 174 174 175

El patrn Command
1. Descripcin 179

www.ediciones-eni.com

Ediciones ENI

8/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C#

179 184 184 185 185 187 187

El patrn Interpreter
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 193 193 196 196 198 198 199 199

El patrn Iterator
1. Descripcin 205

www.ediciones-eni.com

Ediciones ENI

9/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C#

205 208 208 209 209 209 210

El patrn Mediator
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 215 215 219 219 219 220 220 220

El patrn Memento
1. Descripcin 227

www.ediciones-eni.com

Ediciones ENI

10/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C#

227 230 230 231 231 231 232

El patrn Observer
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 237 237 240 240 241 241 241 242

El patrn State
1. Descripcin 247

www.ediciones-eni.com

Ediciones ENI

11/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C#

247 251 251 251 252 252 252

El patrn Strategy
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 259 259 262 262 262 263 263 264

El patrn Template Method


1. Descripcin 269

www.ediciones-eni.com

Ediciones ENI

12/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C#

269 274 274 274 275 275 275

El patrn Visitor
1. Descripcin 2. Ejemplo 3. Estructura 3.1 Diagrama de clases 3.2 Participantes 3.3 Colaboraciones 4. Dominios de aplicacin 5. Ejemplo en C# 279 279 283 283 284 284 285 285

Composicin y variacin de patrones


1. Prembulo 293

www.ediciones-eni.com

Ediciones ENI

13/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

2. El patrn Pluggable Factory 2.1 Introduccin 2.2 Estructura 2.3 Ejemplo en C# 3. Reflective Visitor 3.1 Discusin 3.2 Estructura 3.3 Ejemplo en C# 4. El patrn Multicast 4.1 Descripcin y ejemplo 4.2 Estructura 4.3 Ejemplo en C# 4.4 Discusin: comparacin con el patrn Observer

294 294 299 300 305 305 309 311 315 315 318 320 327

Los patrones en el diseo de aplicaciones


1. Modelizacin y diseo con patrones de diseo 2. Otras aportaciones de los patrones de diseo 2.1 Una base de datos de conocimiento comn 2.2 Un conjunto recurrente de tcnicas de diseo 2.3 Una herramienta pedaggica del enfoque orientado a objetos 329 332 332 332 332

Ejercicios
1. Enunciado de los ejercicios 1.1 Creacin de tarjetas de pago 1.1.1 Creacin en funcin del cliente 1.1.2 Creacin con ayuda de una fbrica 333 333 333 334

www.ediciones-eni.com

Ediciones ENI

14/15

Patrones de diseo para C#


Los 23 modelos de diseo: descripcin y soluciones ilustradas en UML 2 y C#

1.2 Autorizacin de tarjetas de pago 1.3 Sistema de archivos 1.4 Navegador grfico de objetos 1.5 Estados de la vida profesional de una persona 1.6 Cach de un diccionario persistente de objetos 2. Correccin de los ejercicios 2.1 Creacin de tarjetas de pago 2.1.1 Creacin en funcin del cliente 2.1.2 Creacin con ayuda de una fbrica 2.2 Autorizacin de tarjetas de pago 2.3 Sistema de archivos 2.4 Navegador grfico de objetos 2.5 Estados de la vida profesional de una persona 2.6 Cach de un diccionario persistente de objetos

334 334 335 336 336 339 339 339 340 341 341 347 348 351

ndice

353

www.ediciones-eni.com

Ediciones ENI

15/15

You might also like