装饰器设计模式应⽤-JDK源码⾥⾯的Stream IO流

news/2025/1/16 4:52:13/

装饰器设计模式在JDK源码⾥⾯应⽤场景

抽象组件(Component):InputStream

定义装饰⽅法的规范

被装饰者(ConcreteComponent) : FileInputStream、ByteArrayInputStream

Component的具体实现,也就是我们要装饰的具体对象

装饰者组件(Decorator):FilterInputStream

    定义具体装饰者的⾏为规范,Component⻆⾊有相同的接⼝,持有组件(Component)对象的实例引⽤⾃⾏⻋组件 都有 名称和价格

具体装饰物(ConcreteDecorator):BufferedInputStream、
DataInputStream

    负责给构件对象装饰附加的功能⽐如 喇叭,防爆胎

在这里插入图片描述

应⽤场景

//添加了Buffer缓冲功能
InputStream inputStream = new
BufferedInputStream(new FileInputStream(""));

http://www.ppmy.cn/news/692775.html

相关文章

vue移动端实现拨号功能(点击手机号就拨号)

vue移动项目中如何设置点击手机号码就可以打电话 1&#xff0c; 在vue项目的index.html中添加如下代码&#xff1a; <meta name"format-detection" content"telephoneyes" />,2&#xff0c;在需要调起手机拨号功能的页面&#xff0c;写如下方法&am…

前端项目设置点击手机号码唤起拨号功能

1.index.html中添加如下代码&#xff1a; <meta name"format-detection" content"telephoneyes" />2.在需要调起手机拨号功能的页面&#xff0c;写如下函数&#xff1a; // 调用拨号功能 callPhone (phoneNumber) {window.location.href tel://…

安卓手机拨号键盘隐藏工程代码大全

安卓手机拨号键盘隐藏工程代码大全*#*#4636#*#* 显示手机信息、电池信息、电池记录、使用统计数据、WiFi 信息 *#*#7780#*#* 或 *#7780# 重设为原厂设定&#xff0c;不会删除预设程序&#xff0c;及 SD 卡档案。 *2767*3855# 重设为原厂设定&#xff0c;会删除 SD 卡所有档案。…

Android 手机拨号

一、直接调用系统拨号界面 1、将用户输入的手机号码&#xff0c;直接显示在拨号盘上 //调用拨打电话界面 Intent intent new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"number)); //number 是手机号码 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); st…

拨号键输入两组代码,轻松鉴别手机正品还是翻新,技巧让你涨知识

拨号键输入两组代码&#xff0c;轻松鉴别手机正品还是翻新&#xff01;技巧让你涨知识 无论我们是在实体店还是网上购买手机&#xff0c;大家最担心的问题之一就是害怕以新机的价格买到翻新机。那么我们在购买手机的时候&#xff0c;如何才能快速的识别呢&#xff1f;你买的手…

前端H5唤起手机打电话(拨号)和发短信功能

1.拨打电话 2.发送短信 3.移动web页面自动探测电话号码 4.使用wtai协议进行拨打电话 5.关于微信页面出现屏蔽的情况&#xff0c;采用以下解决方案 在移动端页面&#xff0c;有时候我们需要唤起用户手机的打电话功能&#xff0c;拨打客服电话&#xff0c;以及发送短信功能&#…

拨号输入代码,显示手机使用APP情况

华为&#xff1a;##6130##小米&#xff1a;##4636##VIVO&#xff1a;##4838##魅族&#xff1a;##4636##其它安卓型号&#xff1a;##4636##

realme 拨号代码_手机拨号界面为什么会有quot;*和#quot;键?这2个键有什么用?望周知...

大家在使用手机进行拨打电话时,有没有过这样的疑问:手机号码都是纯数字的,为什么拨号界面要上要有"*和#"键?这2个有什么用?下面笔者就来和大家好好聊聊"*和#"键。 1、 为什么会有"*和#"键? 这就要从上个世纪60年代开始说起了,当时的贝尔实…