1. Libros
  2. Patrones de diseño en PHP - Los 23 modelos de diseño: descripciones y soluciones ilustradas en UML2 y PHP

Patrones de diseño en PHP Los 23 modelos de diseño: descripciones y soluciones ilustradas en UML2 y PHP

  • Acceso ilimitado 24/7
  • Todos los libros online de ENI
  • Novedades todos los meses
  • Acceso 100% online
  • Disponible
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis
  • 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 manera precisa y práctica los 23 modelos de diseño (design patterns) fundamentales y los ilustra con ejemplos adecuados y rápidos de entender. Cada ejemplo se describe en UML2 y en PHP, en forma de un pequeño programa completo y ejecutable. Para cada pattern, los autores detallan su nombre, el problema correspondiente, la solución aportada, sus dominios de aplicación y su estructura genérica.

Este libro está pensado para los diseñadores y desarrolladores en Programación Orientada a Objetos. Para entenderlo correctamente, es deseable tener conocimientos de los principales elementos de los diagramas de clases UML, así como del lenguaje PHP (versión 5 o superior) y sus objetivos.

El libro se organiza en tres partes que se corresponden con las tres familias de patrones de diseño: los patrones de construcción, estructuración y comportamiento.

Un capítulo introduce tres variantes de patrones existentes, mostrando la gran flexibilidad en la aplicación de estos modelos. También se estudia el patrón compuesto MVC (Model-View-Controller).

Los ejemplos que se utilizan en estas partes, son el resultado de una aplicación para la venta on-line de vehículos, y se pueden descargar en el sitio web de Ediciones ENI, en la dirección www.ediciones-eni.com.

Los capítulos del libro:
Prefacio – Parte Introducción: Introducción a los patrones de diseño – Caso de estudio: venta online de vehículos – Parte 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 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 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 Aplicación de los patrones: Composición y variación de patrones – El patrón composite MVC – Los patrones en el diseño de aplicaciones – 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
      • 5.1 Aspectos específicos de los ejemplos de código PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
      • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
  • 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 PHP
    • 3. Reflective Visitor
      • 3.1 Discusión
      • 3.2 Estructura
      • 3.3 Ejemplo en PHP
    • 4. El patrón Multicast
      • 4.1 Descripción y ejemplo
      • 4.2 Estructura
      • 4.3 Ejemplo en PHP
      • 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. Ejemplo en PHP
      • 3.1 Introducción
      • 3.2 Arquitectura
      • 3.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
  • 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

Autores

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.

Yannick EVAINMás información

Yannick Evain está estudiando el último año de Telecomunicaciones en Lille. Con anterioridad, trabajó 14 años en la SNCF, de los cuales 10 los dedicó al diseño de sistemas electrónicos digitales e informáticos para hardware de tipo rolling. También ha realizado ingeniería inversa de sistemas que mezcla aplicaciones Web basadas en PHP y aplicaciones desarrolladas a medida.

Características

  • Nivel Medio a Experto
  • Número de páginas 428 páginas
  • Publicación noviembre 2015
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-7460-9837-4
    • EAN: 9782746098374
    • Ref. ENI: EITPHDES
  • Nivel Medio a Experto
  • Publicación noviembre 2015
    • HTML
    • ISBN: 978-2-7460-9838-1
    • EAN: 9782746098381
    • Ref. ENI: LNEITPHDES

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 (171 Ko)