Programmation Objet en Java – Cours 9 Design Patterns 1 – (C) 2005, Frédéric Peschanski 1
Cours Java : deuxième saison
➢Cours 7 : Exceptions, tests unitaires et assertions
➢Cours 8 : Design Patterns 1
➢Cours 9 : Design Patterns 2
➢Cours 10 : Interfaces graphiques en Swing
➢Cours 11 : Collections
Programmation Objet en Java – Cours 9 Design Patterns 1 – (C) 2005, Frédéric Peschanski 2
Les Design Patterns
Première partie
●Introduction aux Design Patterns
●Exemple : le Pattern « Bridge » 
–Héritage vs. délégation
●Patterns créateurs
–Les idiomes « SimpleFactory » 
–Le pattern « FactoryMethod » 
–Les variantes « AbstractFactory » et « Builder »  
–Le pattern « Singleton » 
●Patterns structuraux
–« Adapter » et « Façade »  
Programmation Objet en Java – Cours 9 Design Patterns 1 – (C) 2005, Frédéric Peschanski 3
De la Bidouille OO à la ProgrammationOO
●Principes objets
–Encapsulation
–Héritage, classes abstraites
–Polymorphisme
●Particularité de Java
–Interfaces
●Question
–Comment combiner ces différents outils pour écrire des
programmes ou boîtes-à-outils flexibles, réutilisables,
efficaces, etc, etc.
●Important : c'est une question difficile
Programmation Objet en Java – Cours 9 Design Patterns 1 – (C) 2005, Frédéric Peschanski 4
Les Design Patterns
●Définition
–Elément de conception réutilisable permettant de résoudre un
problème récurrent en programmation orientée objet.
●Historique
–Inspirées d'une méthode de conception d'immeuble en
architecture [Alexander, 77]
–Introduites par le «GOF» dans le livre Design Patterns en 99
(dans le «GOF» 23 patterns «standards»)
●Pourquoi les patterns ?
–Des « recettes d'expert » ayant fait leurs preuves 
–Un vocabulaire commun pour les architectes logiciels
–Incontournable dans le monde de la P.O.O
Programmation Objet en Java – Cours 9 Design Patterns 1 – (C) 2005, Frédéric Peschanski 5
Les idiômes de programmation
➔Un «bout de programme Java» que l'on tape systématiquement lorsque
l'on veut résoudre un problème «récurrent»
Exemple 1 : parcourir les éléments d'un tableau
for(int i=0;i<tableau.length;i++) {
tableau[i] = ... patati patata ...
}
Exemple 2 : utiliser une fonctionnalité du JDK
try {
// fonctionnalité XYZ du jdk
XYZ(...);
} catch(XYZException e) {
e.printStackTrace(System.err);
}
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!