Cours implémentation d’UML avec Java et Design patterns

Sommaire: Cours implémentation d’UML avec Java et Design patterns

• Les designs pattern
• Généralisation avec le pattern Delegation
• Le diagramme d’états-transitions avec le pattern State:
– Principes généraux
– Instanciation d’un objet à états
– Etat composite

Extrait du cours implémentation d’UML avec Java et Design patterns

Designs patterns
• Solutions communes à des problèmes de conception récurrents
• A l’échelle d’une ou peu de classes
• « Patron de solution » documenté
• Ex: « Gamma » patterns
(Design patterns Element of Reusable Object-Oriented Software -Erich Gamma – R. Helm – R. Johnson – J. Vlissides Addison-Wesley)
Exemple: le Singleton
• Diagramme de classes
Le Singleton (2)
• Diagramme de collaboration
Le singleton (3)
Lien avec le pattern « la classe Mailer joue le rôle de Singleton dans la collaboration paramétrée SingletonPattern »
Généralisation avec le pattern Delegation
Le pattern délégation
A délègue B
Délégation – Exemple
• Marie, une femme:
Implémentations Java
• Héritage: héritage Java (extends)
public class Personne {
private int age;
public Personne() {age=0;}
public int getAge() {return age;}
}
public class Femme extends Personne {
private int nbMaternites;
public Femme() {nbMaternites=0;}
public int getNbMaternites(return nbMaternites);
}
Utilisation de l’objet marie, instance de femme:
marie Femme = new Femme();
….
ageMarie = marie.getAge();
Implémentations Java (2)
• Délégation: attribut de type classe
public class Personne {
private int age;
public Personne() {age=0;}
public int getAge() {return age;}
}
public class Femme {
private int nbMaternites;
private Personne personne;
public Femme() {
nbMaternites=0;
personne = new Personne();
}
public int getNbMaternites(return nbMaternites);
public int getAge(){return personne.getAge();}
}
Utilisation de l’objet marie, instance de femme: idem héritage
Comparaison
• Héritage:
– Avantages: extensibilité, gestion automatique des liens
– Inconvénients: rigidité des objets (des liens)
• Délégation:
– Avantages: objets modifiables dynamiquement, implémentation de la généralisation dans un langage sans héritage
– Inconvénients: codage plus lourd (gestion manuelle des liens)

………..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours implémentation d’UML avec Java et Design patterns (150 KO) (Cours PDF)
Cours implémentation d'UML

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *