Patrons de conceptions de créations Elaboré par: Fatma Abbes & Rabeb Aouin DSI3
Plan Qu'est ce qu'un patron de conception? Pourquoi les utiliser? Types de patrons de conception : Patrons de création : Les différents patrons de création :
Qu'est ce qu'un patron de conception? Un patron de conception (plus connu sous le terme anglais « Design pattern ») est une solution générique permettant de résoudre un problème spécifique. La définition habituelle d'un patron est : “Une solution à un problème dans un contexte.” Les patrons de conception sont : « Descriptions d'objets et de classes communicantes qui sont adaptées à la résolution d'un problème général de conception dans un contexte particulier »
Qu'est ce qu'un patron de conception? Chaque patron de conception décrit un ensemble d'objets et de classes communicants. Cette notion peut paraître nouvelle, mais il s'agit en fait plutôt d'un nouveau terme pour désigner les algorithmes, et les structures de données permettant de résoudre différents problèmes. Un exemple : une liste chaînée permet d'avoir un groupe d'éléments dont le nombre n'est pas fixe, contrairement aux tableaux.
Qu'est ce qu'un patron de conception? Cette notion ne s'applique donc pas seulement à la programmation orientée objet. Un autre exemple est l'architecture MVC (Modèle-Vue-Contrôleur) définissant une architecture où les fonctions (ou les classes en POO) ont un rôle bien défini. Les patrons peuvent être utilisés dans de nombreux domaines différents, y compris le développement logiciel.
Pourquoi les utiliser? "Concevoir un logiciel orienté-objet est difficile, et concevoir un logiciel orienté-objet réutilisable est encore plus difficile." - Erich Gamma Les concepteurs expérimentés réutilisent des solutions qui ont fonctionné dans le passé. Les systèmes orientés-objet bien structurés suivent des patrons récurrents pour les classes et objets.
Pourquoi les utiliser? Les patrons qui ont fonctionné dans le passé permettent d'être plus productif. Les conceptions qui en résultent sont plus flexibles et réutilisables.
Types de patrons de conception : Les patrons sont regroupés en 3 catégories qui sont : Patrons de création Concernent le processus de la création d'objets Les patrons de création aident à créer des objets pour vous, au lieu d’avoir à instancier les objets directement. Patrons de structure Concernent la composition de classes et d'objets Les patrons de structure aident à composer des groupes d’objets en des structures plus larges, telles que des interfaces utilisateur complexes.
Types de patrons de conception : Patrons de comportement Concernent l'interaction des classes et des objets Les patrons de comportement aident à définir la communication entre les objets du système et définir comment le flux est contrôlé.
Patrons de création : Un patron de création permet de résoudre les problèmes liés à la création et la configuration d'objets. Par exemple, une classe nommée Ressources Application gérant toutes les ressources de l'application ne doit être instanciée qu'une seule et unique fois. Il faut donc empêcher la création intentionnelle ou accidentelle d'une autre instance de la classe. Ce type de problème est résolu par le patron de conception "Singleton".
Les différents patrons de création : Singleton : Il est utilisé quand une classe ne peut être instanciée qu'une seule fois. Prototype : Plutôt que de créer un objet de A à Z c'est à dire en appelant un constructeur, puis en configurant la valeur de ses attributs, ce patron permet de créer un nouvel objet par recopie d'un objet existant.
Les différents patrons de création : Fabrique : Ce patron permet la création d'un objet dont la classe dépend des paramètres de construction (un nom de classe par exemple). Fabrique abstraite : Ce patron permet de gérer différentes fabriques concrètes à travers l'interface d'une fabrique abstraite. Monteur : Ce patron permet la construction d'objets complexes en construisant chacune de ses parties sans dépendre de la représentation concrète de celles-ci.