1. Libros
  2. Patrones de diseño en Java - Los 23 modelos de diseño: descripciones y soluciones ilustradas en UML 2 y Java (2ª edición)

Patrones de diseño en Java Los 23 modelos de diseño: descripciones y soluciones ilustradas en UML 2 y Java (2ª edición)

  • Acceso ilimitado 24/7
  • Todos los libros online de ENI
  • Más de 5 novedades todos los meses
  • Novedades disponibles el mismo día de su publicación
  • Acceso 100% online
  • Disponible
  • Expedido en 24 horas
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año
  • Acceso gratuito a todos nuestros libros online durante 1 hora por toda compra
  • Consulta inmediata
  • Versión HTML online
  • Acceso ilimitado 24/7

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 Java 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 acerca de los principales elementos de los diagramas de clases UML y la versión 1.6 o superior del lenguaje Java.

El libro está organizado en cinco partes. En la primera, el autor introduce la noción de patrón de diseño. Las tres siguientes detallan cada una de las tres familias de patrones de diseño: los patrones de construcción, los patrones de estructuración y los patrones de comportamiento. Para terminar, la última parte presenta tres variantes de patrones existentes, mostrando la gran flexibilidad existente a la hora de implementar estos modelos. También se aborda el patrón compuesto MVC (Model-View-Controller). Esta nueva edición del libro se enriquece con un capítulo sobre los conceptos avanzados de la programación orientada a objetos, que permite al lector profundizar en sus conocimientos.

Los ejemplos utilizados en el libro son el resultado de una aplicación de venta online de vehículos y pueden descargarse del sitio web www.ediciones-eni.com.


Los capítulos del libro:
Prefacio – Parte 1: Introducción – Introducción a los patrones de diseño – Caso de estudio: venta online de vehículos – Parte 2: Patrones de construcción – Introducción a los patrones de construcción – El patrón Abstract Factory – El patrón Builder – El patrón Factory Method – El patrón Prototype – El patrón Singleton – Parte 3: Patrones de estructuración – Introducción a los patrones de estructuración – El patrón Adapter – El patrón Bridge – El patrón Composite – El patrón Decorator – El patrón Facade – El patrón Flyweight – El patrón Proxy – Parte 4: Patrones de comportamiento – Introducción a los patrones de comportamiento – El patrón Chain of Responsibility – El patrón Command – El patrón Interpreter – El patrón Iterator – El patrón Mediator – El patrón Memento – El patrón Observer – El patrón State – El patrón Strategy – El patrón Template Method – El patrón Visitor – Parte 5: Aplicaciones de patrones – Composición y variación de patrones – El patrón composite MVC – Los patrones en el diseño de aplicaciones – Parte 6: Anexos – Java avanzado y diseño orientado a objetos – Ejercicios

Í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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
      • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
  • 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 Java
    • 3. Reflective Visitor
      • 3.1 Discusión
      • 3.2 Estructura
      • 3.3 Ejemplo en Java
    • 4. El patrón Multicast
      • 4.1 Descripción y ejemplo
      • 4.2 Estructura
      • 4.3 Ejemplo en Java
      • 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 Vaadin
    • 4. Ejemplo en Java
      • 4.1 Introducción
      • 4.2 Arquitectura
      • 4.3 Estudio del código
  • Los patrones en el diseño de aplicaciones
    • 1. Modelización y diseño con patrones de diseño
    • 2. Otras aportaciones de los patrones de diseño
      • 2.1 Una base de datos de conocimiento común
      • 2.2 Un conjunto recurrente de técnicas de diseño
      • 2.3 Una herramienta pedagógica del enfoque orientado a objetos
  • Java avanzado y diseño orientado a objetos
    • 1. Conceptos avanzados de la programación orientada a objetos
      • 1.1 El tipado de las variables
      • 1.2 El vínculo dinámico
      • 1.3 La sobrecarga de métodos
      • 1.4 La genericidad
        • 1.4.1 La noción de clase genérica
        • 1.4.2 Instanciación de los parámetros de tipo
        • 1.4.3 La genericidad y la herencia
      • 1.5 Las interfaces
        • 1.5.1 La realización de las interfaces
        • 1.5.2 La especialización de las interfaces
        • 1.5.3 La diferencia entre las clases abstractas y las interfaces
      • 1.6 Las clases internas: un soporte para la composición de objetos
    • 2. Los principios del diseño orientado a objetos
      • 2.1 La reificación
      • 2.2 El diseño modular
      • 2.3 La abstracción
      • 2.4 La reutilización de clases
  • 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.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. Corrección de los ejercicios
      • 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
      • 2.2 Autorización de tarjetas de pago
      • 2.3 Sistema de archivos
      • 2.4 Navegador gráfico de objetos
      • 2.5 Estados de la vida profesional de una persona
      • 2.6 Caché de un diccionario persistente de objetos
    • índice

Autor

Laurent DEBRAUWERMás información

Laurent Debrauwer es doctor en informática por la Universidad de Lille 1. Es autor de programas en el dominio de la lingüística y de la semántica, editados por la empresa Semantica, que él mismo dirige. Especialista en el enfoque orientado a objetos, es profesor de Ingeniería del Software y Patrones de Diseño en la Universidad de Luxemburgo.

Características

  • Nivel Medio a Experto
  • Número de páginas 385 páginas
  • Publicación octubre 2018
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-409-01634-9
    • EAN: 9782409016349
    • Ref. ENI: EIT4DES
  • Nivel Medio a Experto
  • Publicación octubre 2018
    • HTML
    • ISBN: 978-2-409-01635-6
    • EAN: 9782409016356
    • Ref. ENI: LNEIT4DES

Descargas

Al completar este formulario, acepta recibir información y comunicaciones comerciales sobre nuestros productos y servicios. Puede darse de baja de nuestra newsletter en cualquier momento. Si desea conocer más información acerca de nuestra política de protección de datos, pulse aquí.
  • Descargar los ejemplos del libro (59,1 Ko)