- Libros
- Patrones de diseño en C# - Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y C# [2ªedición]
Patrones de diseño en C# Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y C# [2ªedición]
Presentación
Este libro presenta de forma concisa y práctica los 23 modelos de diseño (Design Patterns) fundamentales, ilustrándolos mediante ejemplos adaptados y rápidos de comprender. Cada ejemplo se describe en UML y en C# bajo la forma de un pequeño programa completo y ejecutable. Para cada patrón, el autor detalla su nombre, el problema correspondiente, la solución propuesta, sus dominios de aplicación y su estructura genérica.
El libro está dirigido a aquellos diseñadores y desarrolladores que trabajen con Programación Orientada a Objetos. Para comprenderlo bien, es preferible tener conocimientos previos de los principales elementos de los diagramas de clases UML y la última versión del lenguaje C# (a partir de la versión 3.0).
El libro está organizado en tres partes que se corresponden con las tres familias de patrones de diseño: los patrones de construcción, los patrones de estructuración y los patrones de comportamiento.
Un capítulo presenta tres variantes de patrones existentes, mostrando la gran flexibilidad existente a la hora de implementar estos modelos.
Esta nueva edición del libro incluye una presentación del patrón MVC (Model-View-Controller) que se ilustra con un ejemplo realizado con el framework Blazor.
El libro está dirigido a aquellos diseñadores y desarrolladores que trabajen con Programación Orientada a Objetos. Para comprenderlo bien, es preferible tener conocimientos previos de los principales elementos de los diagramas de clases UML y la última versión del lenguaje C# (a partir de la versión 3.0).
El libro está organizado en tres partes que se corresponden con las tres familias de patrones de diseño: los patrones de construcción, los patrones de estructuración y los patrones de comportamiento.
Un capítulo presenta tres variantes de patrones existentes, mostrando la gran flexibilidad existente a la hora de implementar estos modelos.
Esta nueva edición del libro incluye una presentación del patrón MVC (Model-View-Controller) que se ilustra con un ejemplo realizado con el framework Blazor.
Índice
Introducción a los patrones de diseño
- 1. Design patterns o patrones de diseño
- 2. Descripción de los patrones de diseño
- 3. Catálogo de patrones de diseño
- 4. Cómo escoger y utilizar un patrón de diseño para resolver un problema
- 5. Organización del catálogo de patrones de diseño
Caso de estudio: venta online de vehículos
- 1. Descripción del sistema
- 2. Cuaderno de carga
- 3. Uso de patrones de diseño
Introducción a los patrones de construcción
- 1. Presentación
- 2. Problemas ligados a la creación de objetos
- 2.1 Problemática
- 2.2 Soluciones propuestas por los patrones de construcción
El patrón Abstract Factory
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de uso
- 5. Ejemplo en C#
El patrón Builder
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de uso
- 5. Ejemplo en C#
El patrón Factory Method
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de uso
- 5. Ejemplo en C#
El patrón Prototype
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboración
- 4. Dominios de uso
- 5. Ejemplo en C#
El patrón Singleton
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participante
- 3.3 Colaboración
- 4. Dominio de uso
- 5. Ejemplos en C#
- 5.1 Documentación en blanco
- 5.2 La clase Comercial
Introducción a los patrones de estructuración
- 1. Presentación
- 2. Composición estática y dinámica
El patrón Adapter
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Bridge
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Composite
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Decorator
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Facade
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Flyweight
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominio de aplicación
- 5. Ejemplo en C#
El patrón Proxy
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
Introducción a los patrones de comportamiento
- 1. Presentación
- 2. Distribución por herencia o por delegación
El patrón Chain of Responsibility
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Command
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Interpreter
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Iterator
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Mediator
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Memento
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Observer
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón State
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Strategy
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Template Method
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
El patrón Visitor
- 1. Descripción
- 2. Ejemplo
- 3. Estructura
- 3.1 Diagrama de clases
- 3.2 Participantes
- 3.3 Colaboraciones
- 4. Dominios de aplicación
- 5. Ejemplo en C#
Composición y variación de patrones
- 1. Preámbulo
- 2. El patrón Pluggable Factory
- 2.1 Introducción
- 2.2 Estructura
- 2.3 Ejemplo en C#
- 3. Reflective Visitor
- 3.1 Discusión
- 3.2 Estructura
- 3.3 Ejemplo en C#
- 4. El patrón Multicast
- 4.1 Descripción y ejemplo
- 4.2 Estructura
- 4.3 Ejemplo en C#
- 4.4 Discusión: comparación con el patrón Observer
El patrón composite MVC
- 1. Introducción al problema
- 2. El patrón composite MVC
- 3. El framework Blazor
- 4. Ejemplo en C#
- 4.1 Introducción
- 4.2 Arquitectura
- 4.3 Estudio del código
Ejercicios
- 1. Enunciado de los ejercicios
- 1.1 Creación de tarjetas de pago
- 1.1.1 Creación en función del cliente
- 1.1.2 Creación con ayuda de una fábrica
- 1.1 Creación de tarjetas de pago
- 1.2 Autorización de tarjetas de pago
- 1.3 Sistema de archivos
- 1.4 Navegador gráfico de objetos
- 1.5 Estados de la vida profesional de una persona
- 1.6 Caché de un diccionario persistente de objetos
- 2.1 Creación de tarjetas de pago
- 2.1.1 Creación en función del cliente
- 2.1.2 Creación con ayuda de una fábrica
Autor
Laurent DEBRAUWERMás información
Laurent Debrauwer es doctor en informática por la Universidad de Lille 1. Especialista en el enfoque orientado a objetos, enseña UML y patrones de diseño en la Universidad de Luxemburgo. También dirige Securiquest, una empresa especializada en seguridad informática y formación UML.
Características
- Nivel Experto a Medio
- Número de páginas 370 páginas
- Publicación julio 2022
- Encuadernación rústica - 17 x 21 cm
- ISBN: 978-2-409-03683-5
- EAN: 9782409036835
- Ref. ENI: EIT3CDES
- Nivel Medio a Experto
- Publicación julio 2022
- HTML
- ISBN: 978-2-409-03684-2
- EAN: 9782409036842
- Ref. ENI: LNEIT3CDES
Descargas
- Descargar los ejemplos del libro (54 Ko)