Vous n'êtes pas connecté. Connexion
|
|
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. Exemple 1Par exemple, le code suivant: class Exemple1 { public 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 2Alors que le code suivant: {{ syntax.Java{code: "class Exemple2 {\n public void main(String[] args) {\n try {\n Writer writer = new StringWriter();\n writer = new FirstToUpperCaseWriter(writer);\n writer.write(\"je n'aime pas les majuscules. mais en français c'est obligatoire.\");\n writer.close();\n System.out.println(writer);\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}"} }} produit la sortie suivante:
Exemple 3En combinant deux décorateurs de la façon suivante: {{ syntax.Java{code: "class Exemple3 {\n public void main(String[] args) {\n try {\n Writer writer = new StringWriter();\n writer = new FirstToUpperCaseWriter(writer);\n writer = new CenteredWriter(writer, 10);\n writer.write(\"je n'aime pas les majuscules. mais en français c'est obligatoire.\");\n writer.close();\n System.out.println(writer);\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}"} }} On obtient la sortie:
|
Powered by MindTouch Deki Open Source Edition v.8.08 |