Académique Documents
Professionnel Documents
Culture Documents
A03 S11 Grasp
A03 S11 Grasp
"Attributs de patron
"Patrons en UML
1
Patrons de COO Préoccupations en COO
La conception clarifie les interactions entre objets/classes et leurs
responsabilités respectives qui permettent de réaliser les besoins.
Les sujets principaux à considérer sont :
« Responsabilité :
obligation/contrat assumé par une classe»
"Faire = l’objet :
" accomplit quelque chose lui-même,
" initie une action d’un autre objet,
2
Patrons de COO Example, le Cadre MVC
• Visualise le modèle,
• Gère les aspects graphiques
:Vue du fenêtrage,
• Intercepte les événements
graphiques.
:Modèle
3
Patrons de COO Patrons de Conception
« Patron de conception :
description identifiée d’un problème fréquent
de conception et de sa solution que l’on peut
appliquer dans des contextes nouveaux »
Visitor
4
Patrons de COO Patrons : Structure
<<abstract>>
* Element
Client ObjectStructure
accept( v : Visitor )
<<abstract>>
Visitor
ConcreteVisitor1 ConcreteVisitor2
v.visitA( this ) v.visitB( this )
visitA( elt : ConcreteElementA ) visitA( elt : ConcreteElementA )
visitB( elt : ConcreteElementB ) visitB( elt : ConcreteElementB )
accept( v )
visitConcreteElementA( elemA )
operationA()
operationB()
5
Patrons de COO Patrons, la Diversité
6
Patrons de COO Fam. GRASP au Complet
Low High
Polymorphism
Coupling Cohesion
Law
Pure
Indirection of
Fabrication
Demeter
7
Patrons de COO Le Patron Expert
contains 6
1..*
SalesLineItem Product
described by Specification
* description
quantity
price
UPC
8
Patrons de COO Expert, Exemple (suite)
l L’objet vente (Sale) est le seul d’avoir accès à toutes les informations
pertinentes.
9
Patrons de COO Exemple (suite)
1: list := getSalesItems( ) : List of SalesLineItem
spec:ProductSpecification
Classe Responsabilité
Product
Connaît son prix
Specification
10
Patrons de COO Les CRC de Sale
Sale Sale
11