news 2026/7/14 18:56:53

【2013-12-17】设计模式学习笔记:装饰模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【2013-12-17】设计模式学习笔记:装饰模式

[历史归档]本文原发布于 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.report=report;}@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(){SchoolReportsr=newFinalTestReport();sr=newHighScoreDecorator(sr);sr=newSortDecorator(sr);sr.report();}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 18:55:25

企业长期包年算力服务选哪家?技术实力、成本结构与合规性深度解析

前言企业数字化转型进入深水区,大模型微调、实时视频渲染、多路音视频分析等高密度计算场景,正推动算力需求从“按需弹性”走向“长期包年”。包年模式看似能够锁定资源、降低单位成本,但行业供给远未标准化。不少技术团队在实际采购中频繁遭…

作者头像 李华
网站建设 2026/7/14 18:54:10

C/C++宏定义深度解析:从基础语法到高级应用与避坑指南

1. 项目概述:为什么宏定义值得“深入浅出”地聊?干了这么多年C/C开发,我敢说,宏定义(Macro)绝对是让开发者又爱又恨的一个特性。爱它,是因为它能在编译前完成文本替换,实现一些看似“…

作者头像 李华
网站建设 2026/7/14 18:51:59

暗黑3终极自动化助手:3步配置解放双手的鼠标宏工具

暗黑3终极自动化助手:3步配置解放双手的鼠标宏工具 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏神3中繁琐的技能操作而…

作者头像 李华
网站建设 2026/7/14 18:50:13

阿里云OSS Browser:高效免费的云端文件管理工具终极指南

阿里云OSS Browser:高效免费的云端文件管理工具终极指南 【免费下载链接】oss-browser OSS Browser 提供类似windows资源管理器功能。用户可以很方便的浏览文件,上传下载文件,支持断点续传等。 项目地址: https://gitcode.com/gh_mirrors/o…

作者头像 李华
网站建设 2026/7/14 18:49:38

A3910与MK60DN512VLQ10在嵌入式电机控制中的高效应用

1. 认识A3910与MK60DN512VLQ10这对黄金搭档在嵌入式控制领域,电机驱动与主控MCU的选型往往决定了整个系统的性能上限。A3910作为Allegro MicroSystems推出的全桥MOSFET驱动器,与NXP的MK60DN512VLQ10工业级MCU组合,堪称运动控制系统的"肌…

作者头像 李华
网站建设 2026/7/14 18:49:25

小程序计算机毕设之公交线路规划与出行查询系统的设计与实现 基于移动端的城市公交便民服务查询系统(完整前后端 代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华