[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2013-12-17 标题设计模式学习笔记装饰模式分类编程 / 设计模式 / java 标签设计模式·java·装饰模式设计模式学习笔记装饰模式最近在看《设计模式之禅》这本书收获良多作者不愧是工作多年的大牛将各种设计模式讲解的非常透彻。这里备份下书中的【 装饰模式 】代码github【 https://github.com/cstriker1407/design_pattern 】代码abstractclassSchoolReport{publicabstractvoidreport();publicabstractvoidsign();}classFinalTestReportextendsSchoolReport{Overridepublicvoidreport(){System.out.println(final test report);}Overridepublicvoidsign(){System.out.println(sign here);}}abstractclassDecoratorSchoolReportextendsSchoolReport{privateSchoolReportreport;publicDecoratorSchoolReport(SchoolReportreport){super();this.reportreport;}Overridepublicvoidreport(){report.report();}Overridepublicvoidsign(){report.sign();}}classHighScoreDecoratorextendsDecoratorSchoolReport{publicHighScoreDecorator(SchoolReportreport){super(report);}Overridepublicvoidreport(){System.out.println(show high score before show Final Test result);super.report();}}classSortDecoratorextendsDecoratorSchoolReport{publicSortDecorator(SchoolReportreport){super(report);}Overridepublicvoidreport(){super.report();System.out.println(show sort number after show Final Test result);}}测试代码publicclassDecoratorTest{publicstaticvoidtest(){SchoolReportsrnewFinalTestReport();srnewHighScoreDecorator(sr);srnewSortDecorator(sr);sr.report();}}