1. Supports de cours
  2. Design Patterns en Java - Descriptions et solutions illustrées en UML 2 et Java (5e édition) - Les 23 modèles de conception

Design Patterns en Java Descriptions et solutions illustrées en UML 2 et Java (5e édition) - Les 23 modèles de conception

Bientôt disponible !
Suivez-nous pour être informé dès la sortie

Présentation

Ce support 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 UML et en Java sous la forme d'un petit programme complet et exécutable. Pour chaque pattern, l'auteur détaille son nom, le problème correspondant, la solution apportée, ses domaines d'application et sa structure générique.

Le support 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 Java.

Le support est organisé en 5 parties. Dans la première, l'auteur introduit la notion de pattern de conception. Les trois parties suivantes détaillent chacune des trois familles de patterns de conception : les patterns de construction, les patterns de structuration et les patterns de comportement. La dernière partie présente tout d'abord, au sein d’un chapitre qui enrichit cette nouvelle édition, la manière de reconcevoir du code existant à l'aide des patterns au travers de nombreux exemples, avant d'étudier trois variantes de patterns existants, montrant ainsi la grande souplesse de mise en œuvre de ces modèles. Le pattern composé MVC (Model-View-Controller) y est également introduit. Le lecteur peut ainsi aisément percevoir les qualités de la conception par les patterns.

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

Table des matières

  • Introduction aux patterns de conception
    • 1. Design Patterns ou patterns de conception
    • 2. La description des patterns de conception
    • 3. Le catalogue des patterns de conception
    • 4. Comment choisir et utiliser un pattern de conception pour résoudre un problème
    • 5. Organisation du catalogue des patterns de conception
  • 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 patterns de conception
  • Introduction aux patterns de construction
    • 1. Présentation
    • 2. Les problèmes liés à la création d’objets
      • 2.1 Problématique
      • 2.2 Les solutions proposées par les patterns de construction
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le pattern Singleton
    • 1. Description
    • 2. Exemple
    • 3. Structure
      • 3.1 Diagramme de classe
      • 3.2 Participant
      • 3.3 Collaboration
    • 4. Domaine d’utilisation
    • 5. Exemples en Java
      • 5.1 La liasse vierge
      • 5.2 La classe Vendeur
  • Introduction aux patterns de structuration
    • 1. Présentation
    • 2. Composition statique et dynamique
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Introduction aux patterns de comportement
    • 1. Présentation
    • 2. Distribution par héritage ou par délégation
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Le 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 Java
  • Compositions et variations de patterns
    • 1. Préliminaire
    • 2. Le pattern Pluggable Factory
      • 2.1 Introduction
      • 2.2 Structure
      • 2.3 Exemple en Java
    • 3. Reflective Visitor
      • 3.1 Discussion
      • 3.2 Structure
      • 3.3 Exemple en Java
    • 4. Le pattern Multicast
      • 4.1 Description et exemple
      • 4.2 Structure
      • 4.3 Exemple en Java
      • 4.4 Discussion : comparaison avec le pattern Observer
  • Chapitre 5-2
    • 1. Mise en œuvre des patterns pour reconcevoir du code
    • 2. Composite et Visitor
      • 2.1 L’exemple initial
      • 2.2 La mise en œuvre de Composite et Visitor
    • 3. Template Method
      • 3.1 L’exemple initial
      • 3.2 La mise en œuvre de Template Method
    • 4. Iterator
      • 4.1 L’exemple initial
      • 4.2 La mise en œuvre du pattern Iterator
    • 5. Chain of Responsibility
      • 5.1 L’exemple initial
      • 5.2 La mise en œuvre du pattern Chain of Responsibility
    • 6. State
      • 6.1 L’exemple initial
      • 6.2 La mise en œuvre du pattern State
    • 7. Observer
      • 7.1 L’exemple initial
      • 7.2 La mise en œuvre du pattern Observer
    • 8. Decorator
      • 8.1 L’exemple initial
      • 8.2 La mise en œuvre du pattern Decorator
    • 9. Command
      • 9.1 L’exemple initial
      • 9.2 La mise en œuvre du pattern Command
  • Le pattern composite MVC
    • 1. Introduction au problème
    • 2. Le pattern composite MVC
    • 3. Le framework Vaadin
    • 4. Exemple en Java
      • 4.1 Introduction
      • 4.2 Architecture
      • 4.3 Étude du code
  • Les patterns dans la conception de logiciels
    • 1. Modélisation et conception avec les patterns de conception
    • 2. Autres apports des patterns de conception
      • 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 à objets
  • Java avancé et conception par objets
    • 1. Les concepts avancés de la programmation par objets
      • 1.1 Le typage des variables
      • 1.2 La liaison dynamique
      • 1.3 La surcharge des méthodes
      • 1.4 La généricité
        • 1.4.1 La notion de classe générique
        • 1.4.2 L'instanciation des paramètres de type
        • 1.4.3 La généricité et l'héritage
      • 1.5 Les interfaces
        • 1.5.1 La réalisation des interfaces
        • 1.5.2 La spécialisation des interfaces
        • 1.5.3 La différence entre les classes abstraites et les interfaces
      • 1.6 Les classes internes : un support pour la composition d'objets
    • 2. Les principes de la conception par objets
      • 2.1 La réification
      • 2.2 La conception modulaire
      • 2.3 L'abstraction
      • 2.4 La réutilisation des classes
  • 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

Auteur

Laurent DEBRAUWEREn savoir plus

Laurent Debrauwer est docteur en informatique de l'Université de Lille 1. Spécialiste de l'approche par objets, il enseigne UML et les Design Patterns à l'université du Luxembourg. Il dirige également la société Securiquest spécialisée dans la sécurité informatique et la formation UML.

Caractéristiques

  • Niveau Confirmé à Expert
  • Parution novembre 2022
    • Reliure spirale - 17 x 21 cm (Médian)
    • ISBN : 978-2-409-03762-7
    • EAN : 9782409037627
    • Ref. ENI : EIM5DES
  • Niveau Confirmé à Expert
  • Parution novembre 2022
    • HTML
    • ISBN : 978-2-409-03763-4
    • EAN : 9782409037634
    • Ref. ENI : LNEIM5DES

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