Design Pattern - Présentation

Les modèles de conception représentent les meilleures pratiques utilisées par les développeurs de logiciels orientés objet expérimentés. Les modèles de conception sont des solutions aux problèmes généraux auxquels les développeurs de logiciels ont été confrontés lors du développement de logiciels. Ces solutions ont été obtenues par essais et erreurs par de nombreux développeurs de logiciels sur une période assez longue.

Qu'est-ce que Gang of Four (GOF)?

En 1994, quatre auteurs Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides ont publié un livre intitulé Design Patterns - Elements of Reusable Object-Oriented Software qui a lancé le concept de Design Pattern dans le développement de logiciels.

Ces auteurs sont connus sous le nom de Gang of Four (GOF). Selon ces auteurs, les modèles de conception sont principalement basés sur les principes suivants de conception orientée objet.

  • Programme vers une interface pas une implémentation

  • Privilégier la composition d'objets par rapport à l'héritage

Utilisation du modèle de conception

Les modèles de conception ont deux utilisations principales dans le développement de logiciels.

Plateforme commune pour les développeurs

Les modèles de conception fournissent une terminologie standard et sont spécifiques à un scénario particulier. Par exemple, un modèle de conception singleton signifie l'utilisation d'un seul objet afin que tous les développeurs familiers avec un modèle de conception unique utilisent un seul objet et puissent se dire que le programme suit un modèle singleton.

Les meilleures pratiques

Les modèles de conception ont évolué sur une longue période et ils fournissent les meilleures solutions à certains problèmes rencontrés lors du développement de logiciels. L'apprentissage de ces modèles aide les développeurs inexpérimentés à apprendre la conception de logiciels de manière simple et rapide.

Types de modèles de conception

Selon le livre de référence de modèle de conception Design Patterns - Elements of Reusable Object-Oriented Software, il existe 23 modèles de conception qui peuvent être classés en trois catégories: modèles créatifs, structurels et comportementaux. Nous aborderons également une autre catégorie de modèle de conception: les modèles de conception J2EE.

SN Modèle et description
1 Creational Patterns
Ces modèles de conception fournissent un moyen de créer des objets tout en masquant la logique de création, plutôt que d'instancier des objets directement à l'aide d'un nouvel opérateur. Cela donne au programme plus de flexibilité pour décider quels objets doivent être créés pour un cas d'utilisation donné.
2 Structural Patterns
Ces modèles de conception concernent la composition des classes et des objets. Le concept d'héritage permet de composer des interfaces et de définir des manières de composer des objets pour obtenir de nouvelles fonctionnalités.
3 Behavioral Patterns
Ces modèles de conception concernent spécifiquement la communication entre les objets.
4 J2EE Patterns
Ces modèles de conception concernent spécifiquement le niveau de présentation. Ces modèles sont identifiés par Sun Java Center.