En raison d’une maintenance technique, la boutique Editions ENI sera inaccessible ce mercredi soir à compter de 21h, jusqu’à 2h jeudi matin. Nous vous invitons à passer votre commande avant 20h30. Merci pour votre compréhension. L’équipe des Editions ENI
  1. Livres et vidéos
  2. Design Patterns en PHP - Les 23 modèles de conception : descriptions et solutions illustrées en UML2 et PHP (2e édition)

Design Patterns en PHP Les 23 modèles de conception : descriptions et solutions illustrées en UML2 et PHP (2e édition)

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7
  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne

Présentation

Ce livre présente de façon concise et pratique les 23 modèles de conception (design patterns) fondamentaux en les illustrant par des exemples pertinents et rapides à appréhender. Chaque exemple est décrit en UML2 et en PHP 8 sous la forme d'un petit programme complet et exécutable. Pour chaque design pattern, les auteurs détaillent son nom, le problème correspondant, la solution apportée, ses domaines d'application et sa structure générique.

Le livre s'adresse aux concepteurs et développeurs en Programmation Orientée Objet. Pour bien l'appréhender, il est préférable de disposer de connaissances sur les principaux éléments des diagrammes de classes UML et sur le langage PHP (version 7 ou supérieure) et ses aspects objets.

Le livre est organisé en trois parties qui correspondent aux trois familles de design patterns : les design patterns de construction, les design patterns de structuration et les design patterns de comportement.

Un chapitre introduit trois variantes de design patterns existants, montrant la grande souplesse de mise en œuvre de ces modèles. Le pattern composé MVC (Model-View-Controller) est également présenté.

Les exemples utilisés dans ces parties sont issus d'une application de vente en ligne de véhicules et sont en téléchargement sur le site www.editions-eni.

Table des matières

  • Introduction aux design patterns
    • 1. Principes de base du concepteur objet
      • 1.1 Les principes SOLID
        • 1.1.1 Le principe de responsabilité unique
        • 1.1.2 Ouvert à l’extension mais fermé à la modification
        • 1.1.3 Le principe de substitution de Liskov
        • 1.1.4 Séparation des interfaces
        • 1.1.5 L’inversion des dépendances
    • 2. Design patterns ou modèles de conception
    • 3. Description des design patterns
    • 4. Catalogue des design patterns
    • 5. Organisation du catalogue des design patterns
    • 6. Aspects spécifiques des exemples de code PHP
  • Une étude de cas : la vente en ligne de véhicules
    • 1. Description du système
    • 2. Cahier des charges
    • 3. Prise en compte des design patterns
  • Introduction aux design patterns de construction
    • 1. Présentation
    • 2. Problèmes liés à la création d’objets
      • 2.1 Problématique
      • 2.2 Solutions proposées par les design patterns de construction
  • Le design pattern Abstract Factory
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’utilisation
    • 5. Exemple en PHP
  • Le design pattern Builder
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’utilisation
    • 5. Exemple en PHP
  • Le design pattern Factory Method
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’utilisation
    • 5. Exemple en PHP
  • Le design pattern Prototype
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaboration
    • 4. Domaines d’utilisation
    • 5. Exemple en PHP
  • Le design pattern Singleton
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaboration
    • 4. Domaine d’utilisation
    • 5. Exemples en PHP
      • 5.1 La liasse vierge
      • 5.2 La classe Vendeur
  • Introduction aux design patterns de structuration
    • 1. Présentation
    • 2. Composition statique et dynamique
  • Le design pattern Adapter
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Bridge
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Composite
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Decorator
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Facade
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Flyweight
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaine d’application
    • 5. Exemple en PHP
  • Le design pattern Proxy
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Introduction aux design patterns de comportement
    • 1. Présentation
    • 2. Distribution par héritage ou par délégation
  • Le design pattern Chain of Responsibility
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Command
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Interpreter
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d'application
    • 5. Exemple en PHP
  • Le design pattern Iterator
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Mediator
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Memento
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Observer
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern State
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Strategy
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Template Method
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Le design pattern Visitor
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classes
      • 3.2 Participants
      • 3.3 Collaborations
    • 4. Domaines d’application
    • 5. Exemple en PHP
  • Compositions et variations de design patterns
    • 1. Préliminaire
    • 2. Le design pattern Pluggable Factory
      • 2.1 Introduction
      • 2.2 Structure
      • 2.3 Exemple en PHP
    • 3. Le design pattern Reflective Visitor
      • 3.1 Discussion
      • 3.2 Structure
      • 3.3 Exemple en PHP
    • 4. Le design pattern Multicast
      • 4.1 Description et exemple
      • 4.2 Structure
      • 4.3 Exemple en PHP
      • 4.4 Discussion : comparaison avec le design pattern Observer
  • Le design pattern composite MVC
    • 1. Introduction au problème
    • 2. Le design pattern composite MVC
    • 3. Exemple en PHP
      • 3.1 Introduction
      • 3.2 Architecture
      • 3.3 Étude du code
  • Les design patterns dans la conception de logiciels
    • 1. Modélisation et conception avec les design patterns
    • 2. Autres apports des design patterns
      • 2.1 Un référentiel commun
      • 2.2 Un ensemble récurrent de techniques de conception
      • 2.3 Un outil pédagogique de l’approche orientée objet
    • 3. Des pratiques bien répandues
  • Exercices
    • 1. Énoncés des exercices
      • 1.1 Création de cartes de paiement
        • 1.1.1 Création en fonction du client
        • 1.1.2 Création à l’aide d’une fabrique
      • 1.2 Autorisation des cartes de paiement
      • 1.3 Système de fichiers
      • 1.4 Browser graphique d’objets
      • 1.5 États de la vie professionnelle d’une personne
      • 1.6 Cache d’un dictionnaire persistant d’objets
    • 2. Correction des exercices
      • 2.1 Création de cartes de paiement
        • 2.1.1 Création en fonction du client
        • 2.1.2 Création à l’aide d’une fabrique
      • 2.2 Autorisation des cartes de paiement
      • 2.3 Système de fichiers
      • 2.4 Browser graphique d’objets
      • 2.5 États de la vie professionnelle d’une personne
      • 2.6 Cache d’un dictionnaire persistant d’objets
    • Index

Auteurs

Laurent DEBRAUWEREn savoir plus

Laurent Debrauwer est docteur en informatique de l'Université de Lille 1. Il est auteur de logiciels dans le domaine de la linguistique et de la sémantique qui sont édités par la société Semantica dont il est le dirigeant. Spécialiste de l'approche par objets, il enseigne les Design Patterns à l'université du Luxembourg.

Sébastien FERRANDEZEn savoir plus

Ingénieur diplômé du Conservatoire National des Arts et Métiers d'Aix-en-Provence, Sébastien Ferrandez y a enseigné de nombreuses disciplines durant 10 ans, notamment le développement web et les bases de données, relationnelles ou NoSQL. Aujourd'hui consultant et formateur indépendant, il transmet dans ses livres toute son expertise aussi bien sur la base de données MongoDB que sur les Design Patterns en PHP.

Yannick EVAINEn savoir plus

Yannick Evain est élève ingénieur en dernière année à Télécom Lille. Il a auparavant travaillé 14 ans à la SNCF, dont 10 ans à concevoir des systèmes électroniques numériques et informatiques pour le matériel roulant. Il a également effectué des rétro-conceptions de systèmes mêlant des applications web à base de PHP et des applications développées sur mesure.

Caractéristiques

  • Nombre de pages 396 pages
  • Parution juin 2021
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-03067-3
    • EAN : 9782409030673
    • Ref. ENI : EI2PHDES
  • Parution juin 2021
    • HTML
    • ISBN : 978-2-409-03068-0
    • EAN : 9782409030680
    • Ref. ENI : LNEI2PHDES

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (157 Ko)