Problmes de conception - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Problmes de conception

Description:

(colonne) Composite (ligne) Composite (ligne) G. g. espace. Glyph. Hi rarchie partielle ... colonne. ligne. ligne. G. g. espace. Glyphs g n r s. par le compositor ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 24
Provided by: Mado1
Category:

less

Transcript and Presenter's Notes

Title: Problmes de conception


1
Conception par patrons
Étude de cas Concevoir un éditeur de
document Référence Design Patterns, Elements
of Reusable Object-Oriented Software Gamma E.,
Helm R, Johnson R., Vlissides J. Ed.
Addison-Wesley, 1995
2
Problèmes de conception
  • Structure du document ()
  • Choix de la représentation interne
  • Conception de la présentation (formatting) ()
  • Arrangement des textes et graphiques en lignes et
    colonnes
  • Embellissement de l interface utilisateur
  • Multiples standards  Look-and-Feel  ()
  • Multiples systèmes de fenêtrage
  • Opérations de l utilisateur ()
  • Vérification de l orthographe et césure

() sera développer par la suite
3
Structure du document
  • Responsabilités
  • maintenir la structure physique du document
  • générer et présenter le document visuellement
  • faire correspondre la position sur l écran avec
    les éléments de la représentation interne
  • Contraintes
  • traiter les textes et les graphiques de la même
    façon
  • ne pas distinguer les éléments simples et les
    éléments composés
  • considérer la nature des éléments ( pour
    l orthographe et la césure, p.e.)

4
Composition récursivedes textes et graphiques
Composite (colonne)
g
G
...
Composite (ligne)
Composite (ligne)
. . .
...
g
G
espace
5
GlyphHiérarchie partielle
6
Interface basique du Glyph
7
Composite Pattern
8
Composite PatternStructure
9
Conception de la présentation (formatting)
  • Responsabilités
  • découper le texte en lignes, les lignes en
    colonnes
  • faire varier largeur des marges, indentation,
    tabulation,
  • autres contraintes de formatage
  • Contraintes
  • algorithme indépendant de la structure du
    document
  • changer d algorithme sans modifier le glyph
    (rapport qualité/vitesse)
  • modifier le glyph sans refaire l algorithme

gt nécessite un algorithme
10
Composition et Compositor
11
Structure d objetsreflétant le découpage dirigé
par le compositor
composition
Glyphs générés par le compositor
compositor
colonne
...
ligne
ligne
...
g
G
espace
12
Strategy Pattern
13
Standard  Look-and-Feel 
  • Contraintes
  • utiliser plusieurs standards  Look-and-Feel 
  • ajouter facilement de nouveaux standards
  • changer de standard à l exécution (run-time)

14
GUIFactoryHiérarchie de classes
15
GUIFactoryClasses produit abstraites et
sous-classes concrètes
16
Exemple créer une barre de défilement pour Motif
  • À éviter
  • ScrollBar sb new MotifScrollBar()
  • Plus générique
  • ScrollBar sb guiFactory-gtCreateScrollBar()
  • Instancier guiFactory
  • GUIFactory guiFactory new MotifFactory

17
Abstract Factory Pattern
18
Opérations de l utilisateur
  • Contraintes
  • ne pas associer une opération particulière à une
    interface particulière
  • opération créer document, ouvrir, sauver,
    tourner la page,
  • interface touche clavier, bouton, menu,
  • ne pas créer trop de dépendances entre
    l implémentation et les classes de l interface
    utilisateur (pour compréhension, extension,
    maintenance)
  • undo/redo pour la plupart des fonctionnalités
  • effacer
  • sauver, quitter
  • pas de limite dans le nombre de niveaux

gt mécanisme simple et extensible qui satisfait
tous ces besoins
19
CommandHiérarchie partielle
20
CommandRelation MenuItem-Command
21
Historique des commandes
REDO
actions passées
présent
UNDO
Execute()
présent
Unexecute()
présent
UNDO
futur
passé
présent
futur
passé
présent
22
Command Pattern
  • Invoker (MenuItem)
  • demande à la commande de satisfaire la requête
  • Receiver (Document, Application)
  • sait comment faire les opérations associées à la
    satisfaction de la requête. Toute classe peut
    servir de Receveur

23
Conclusion
  • Ces patrons de conception peuvent être appliqués
    à beaucoup d autres applications et domaines
  • Il existe d autres patrons (cf Design Patterns)
  • Chacun peut créer ses propres patrons
Write a Comment
User Comments (0)
About PowerShow.com