io流(适配器模式)
适配器模式
-
例如:用户的需求与解决的代码不匹配,这就需要适配器
- 类适配器
package com.bjsxt.test11; //被适配的类 public class Adaptee { public void surf(){ System.out.println("提供上网功能!"); } } //客户的目的就是为了上网 interface Target{ void toSurf(); } class Client{ public void want(Target t){ t.toSurf(); } } //进行适配工作 class Adapter extends Adaptee implements Target{ @Override public void toSurf() { System.out.println("转换。。。"); super.surf(); } } class Test{ public static void main(String[] args) { new Client().want(new Adapter()); } }
- 对象适配器(仅改变适配器的类即可)
package com.bjsxt.test11; //被适配的类 public class Adaptee { public void surf(){ System.out.println("提供上网功能!"); } } //客户的目的就是为了上网 interface Target{ void toSurf(); } class Client{ public void want(Target t){ t.toSurf(); } } //进行适配工作 //对象适配器就更改适配器,不改其他的 class Adapter implements Target{ Adaptee ae; public Adapter(Adaptee ae){ this.ae=ae; } @Override public void toSurf() { System.out.println("转换。。。"); ae.surf(); } } class Test{ public static void main(String[] args) { new Client().want(new Adapter(new Adaptee())); } }
-
适配器模式的优缺点:
优点:
更好的复用性
更好的扩展性:调用自己开发的功能,从而扩展系统的功能
缺点:
过多的适配器会让系统特别的凌乱,如果不是很必要,可以不适用适配器,而是直接对系统进行重构
树越是向往高处的光亮,它的根就越要向下,向泥土向黑暗的深处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?