Vous n'êtes pas connecté. Connexion
|
|
Frédéric Mallet > Patrons de conception > Le patron décorateur
Le patron décorateurDe $1EnoncéSur le modèle des transparents 13 et 14 du cours construire des décorateurs qui décorent des objets de type Writer pour :
On veut avoir un décorateur pour chacun des cas énumérés ci-dessus. On veut également pouvoir combiner deux décorateurs. Code de basePar exemple, le code suivant: class CodeDeBase { public static void main(String[] args) { try { Writer writer = new StringWriter(); writer.write("je n'aime pas les majuscules. mais en français c'est obligatoire."); writer.close(); System.out.println(writer); } catch (IOException e) { e.printStackTrace(); } } } produit la sortie:
Exemple 0Avant de commencer, réaliser un décorateur trivial DummyWriter qui réalise le patron décorateur, sans ajouter de fonctionnalité de telle sorte que le code suivant:
produise la sortie:
Exemple 1Si vous avez répondu à la première question, vous avez construit la classe ToUpperCaseWriter de telle sorte que le code suivant:
produise la sortie: JE N'AIME PAS LES MAJUSCULES. MAIS EN FRANÇAIS C'EST OBLIGATOIRE. Exemple 2Alors que le code suivant:
produit la sortie suivante:
Exemple 3En combinant deux décorateurs de la façon suivante: class Exemple3 { public static void main(String[] args) { try { Writer writer = new StringWriter(); writer = new FirstToUpperCaseWriter(writer); writer = new CenteredWriter(writer, 10); writer.write("je n'aime pas les majuscules. mais en français c'est obligatoire."); writer.close(); System.out.println(writer); } catch (IOException e) { e.printStackTrace(); } } } On obtient la sortie:
Mots clés:
|
Powered by MindTouch Deki Open Source Edition v.8.08 |