尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【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.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();}}
RELATED

相关推荐

Unity编辑器异步进度反馈实战:基于UniTask实现流畅非阻塞操作

Unity编辑器异步进度反馈实战:基于UniTask实现流畅非阻塞操作

1. 项目概述:为什么Unity编辑器需要异步进度反馈?做Unity开发,尤其是编辑器工具开发,你肯定遇到过这种场景:点击一个菜单项,执行一个资源批量处理、数据导入或者网络请求,然后编辑器就“卡死”了…

📅 2026/8/20 20:33:23
C#调用C++ DLL完整指南:P/Invoke方案与工程化实践

C#调用C++ DLL完整指南:P/Invoke方案与工程化实践

1. 项目概述在软件开发领域,我们常常会遇到一个经典场景:一个项目需要同时兼顾开发效率和运行性能。C#凭借其优雅的语法、强大的.NET生态和高效的开发体验,是构建业务应用、桌面程序和Web服务的绝佳选择。然而,当涉及到密集计算、…

📅 2026/9/12 0:11:15
43 · 五感餐厅——从阿明的“AI 只会文字“,看多模态 AI

43 · 五感餐厅——从阿明的“AI 只会文字“,看多模态 AI

系列定位:本篇是「阿明餐厅」系列的番外八。在续集十二 36a 成本结构我们讲了 LLM 的 token 计算。本篇是多模态 AI 应用工程专题 —— 讲清楚图像、音频、视频、3D 等多模态 AI 的工程实践。从视觉问答到语音克隆,从图像生成到视频理解。 「阿明餐厅」…

📅 2026/8/20 20:33:23
MORE NEWS

更多资讯

📰

PLC培训6大坑深度拆解:以优佳智培为例,看靠谱机构长什么样.cp

PLC培训6大坑深度拆解:以优佳智培为例,看靠谱机构长什么样.cp——从6个常见陷阱,看优佳智培在PLC/自动化培训领域的差异化优势摘要:近年来PLC/自动化培训需求快速升温,行业乱象也随之增多。本文系统拆解报名PLC培训班前…

📰

Flet+DeepSeek构建流式桌面聊天机器人

简介:这是一份面向Python开发者与AI应用实践者的桌面端聊天机器人开发模板,基于Flet框架对接DeepSeek大模型API,解决本地化、图形化AI交互场景下的快速原型构建问题。资源适用于技术支持、学习辅助及日常咨询等轻量级对话需求,兼顾…

📰

鸽巢原理在计算机科学中的应用与实践

1. 鸽巢原理的直观理解想象你手上有10只鸽子,但只有9个鸽巢。当你试图把所有鸽子放进鸽巢时,至少有一个鸽巢里会有不止一只鸽子。这个看似简单的现象,就是数学中著名的鸽巢原理(Pigeonhole Principle)最直观的体现。这…

📰

PyTorch数据加载完全指南:从Dataset到DataLoader的高效实现

1. 先想清楚:为什么要单独写一篇文章讲数据加载先把话说在前头,任何一个正经的深度学习项目,超过一半的坑都出在数据加载这一层。很多人模型结构写得飞起,损失函数背得滚瓜烂熟,结果一到训练就开始各种花式报错&#x…

📰

Cassandra+Elasticsearch整合实战:从双写到CDC异步管道

大数据这东西,越做到后面越会发现一个扎心的事实:没有一种存储能同时把写入、检索、分析全都干漂亮。接触过 Cassandra 和 Elasticsearch 的人应该都有过这种纠结——业务量一上来,数据落库要扛住千万级并发写,产品方又天天追着要…

📰

Shell条件语句详解与实战技巧

1. Shell条件语句基础解析作为一名有十年经验的Linux系统管理员,我处理过无数Shell脚本中的条件判断问题。条件语句是Shell编程中最基础也最易出错的部分,今天我们就来彻底拆解这个主题。Shell条件语句的核心作用是让脚本具备决策能力。想象你正在编写一…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬