En este libro se introducen los principios de los patrones de diseño y ofrecen un catálogo de dichos patrones. Este libro muestra el papel que los patrones pueden desempeñar diseñando la arquitectura de sistemas complejos y proporciona una referencia práctica de un conjunto de excelentes patrones que el desarrollador puede aplicar para construir sus propias aplicaciones.
INDICE
Prefacio Prólogo
Prólogo a la edición española
Guía para los lectores
CAPÍTULO 1
Introducción
1.1. ¿Qué es un patrón de diseño?
1.2. Patrones de diseño en el MVC de Smalltalk
1.3. Descripción de los patrones de diseño
1.4. El catálogo de patrones de diseño
1.5. Organización del catálogo
1.6. Cómo resuelven los patrones los problemas de diseño
1.7. Cómo seleccionar un patrón de diseño
1.8. Cómo usar un patrón de diseño
CAPÍTULO 2
Un caso de estudio: diseñando un editor de documentos
2.1. Problemas de diseño
2.2. Estructura del documento
2.3. Formateado
2.4. Adornar la interfaz de usuario
2.5. Permitir múltiples estándares de interfaz de usuario
2.6. Permitir múltiples sistemas de ventanas
2.7. Operaciones de usuario
2.8. Revisión ortográfica e inserción de guiones
2.9. Resumen
Catálogo de Patrones de Diseño
CAPÍTULO 3
Patrones de Creación
Abstract Factory
Builder
Factory Method
Prototype
Singleton
Discusión sobre los patrones de creación
CAPÍTULO 4
Patrones Estructurales
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Discusión sobre los patrones estructurales
CAPÍTULO 5
Patrones de Comportamiento
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Discusión sobre los patrones de comportamiento
CAPÍTULO 6
Conclusión
6.1. Qué esperar de los patrones de diseño
6.2. Una breve historia
6.3. La comunidad de patrones
6.4. Una invitación
6.5. Una reflexión a modo de despedida
APÉNDICE A. Glosario
APÉNDICE B. Guía de la notación
B.1. Diagrama de clases
B.2. Diagrama de objetos
B.3. Diagrama de interacción
APÉNDICE C. Clases fundamentales
C.1. Lista
C.2. Iterador
C.3. IteradorLista
C.4. Punto
C.5. Rect