当前位置:首页 > Java技术 > 几个步骤让你学会JAVA的适配器模式

几个步骤让你学会JAVA的适配器模式

2022年11月09日 08:51:43Java技术7

JAVA设计模式之一适配器模式

适配器模式

首先我们要了解到什么是适配器,然后我们用适配器能干嘛,生活中常见的例子。

  1. 适配器模式就是把两个互不关联的东西通过适配器来关联使用
  2. 用适配器可以节省代码重复量,后期维护便利,且符合人的逻辑思维
  3. 充电宝+安卓的数据线+想要充苹果手机

这里的例子是以(Computer)电脑,(Adapter)转接头,(Adaptee)网络源为例子,(NetToUsb)是符合人的逻辑思维,接口类

几个步骤让你学会JAVA的适配器模式 _ JavaClub全栈架构师技术笔记

Computer.java

package 适配器模式;
public class Computer {
     
    //目标程序
 //电脑需要连接上转接器才可以上网,传一个转接头
 public void net(NetToUsb adapter) {
     
  //上网的方法需要一个转接头
  adapter.handleRequest();
  
 }
 public static void main(String[] args) {
     
  // TODO 自动生成的方法存根
           //电脑,适配器,网络
  Computer computer=new Computer();//电脑
  
  Adapter adapter=new Adapter();//转接适配器
  
  Adaptee adaptee=new Adaptee();//网络
  computer.net(adapter);
 }
}

Adaptee .java

public class Adaptee {
     
    //网络
 public void Request() {
     
  System.out.println("连接到网络,可以上网了!");
 } 
}

NetToUsb.java

package 适配器模式;
public interface NetToUsb {
     
 //作用:处理请求让网线连接到电脑Usb
 public void handleRequest();
}

Adapter.java

第一种是靠单一继承关系,有局限性,只能对应一个专属的目标网络,换了地方办公连接别人网线无法实现
package 适配器模式;
//1.继承(类适配器,单继承)
//2.组合(对象适配器:常用)
public class Adapter extends Adaptee implements NetToUsb {
     
 //真正的适配器,   需要连接到源程序的网线和电脑的usb
 @Override
 public void handleRequest() {
     
  super.Request();
 }
}

Adapter2.java

第二种是传的对象,比如要的网络源,我们传一个网络对象,只要有网络类也就是有网络的地方可以传进来就能让电脑上网
package 适配器模式;
//1.继承(类适配器,单继承)
//2.组合(对象适配器:常用)
public class Adapter2  implements NetToUsb {
     
 //真正的适配器,   需要连接到源程序的网线和电脑的usb
 //传对象,就不用像继承一样只能固定网线,可以随处办公
 private Adaptee adaptee;
 public Adapter2(Adaptee adaptee) {
     
  this.adaptee=adaptee;
 } 
 @Override
 public void handleRequest() {
     
  adaptee.Request();
 }
}

学设计模式的初衷:
1.能够发散且让你设计代码的时候更有逻辑
2.能够在面试中起到作用
3.能够读懂某些源码,例如Springboot里有大量适配器

作者:未来谁可知
来源链接:https://blog.csdn.net/jiohfgj/article/details/104353888

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/68730.html

标签: Java
分享给朋友:

“几个步骤让你学会JAVA的适配器模式” 的相关文章

两年前写的Java基础总结书

两年前写的Java基础总结书

想法衍生 两年前的我,突发奇想,把自己学的Java基础进行规范化的整理,因为自己的文档编辑能力有限,所以写的排版不是很好,参照图书排版的形式,将书籍进行整理,可以供学习Java基础的朋友参考,由于时间有限,可能也会有问题,请指出。下载地址在最后 截图如下:...

java基础知识讲解(一)数据类型和运算符

java基础知识讲解(一)数据类型和运算符

Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。 Java中定义了3类8种基本数据类型 数值型- b...

Java 并发核心机制

Java 并发核心机制

📦 本文以及示例源码已归档在 javacore 一、J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具类,是 Java 并发能力的主要体现(注意,不是全部,有部分并发能力的支持在其他包中)。...

Java虚拟机1:什么是Java

Java虚拟机1:什么是Java

前言 让我们来看一下Java的广告词,来自http://www.java.com/zh_CN/about/: 97%的企业桌面运行Java 美国有89%的桌面(或计算机)运行Java 全球有900万Java开发人员 开发人员的头号选择...

JAVA的JDK环境变量的配置JAVA

JAVA的JDK环境变量的配置JAVA

首先要在官网下载java 官网:http://www.oracle.com/technetwork/java/javase/downloads/ 到这个界面 选择我接受 记住该地址 最好的办法新建记事本,然后按ctrl+s保存 java环境变量的...

Java对象的大小

基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看 下面语句: Object ob = new Ob...

在JAVA 中将堆与栈分开的原因

栈是运行时的单位,而堆是存储的单位。 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么 放、放在哪儿。 注意:在Java中一个线程就会相应有一个线程栈与之对应 栈因为是运行单位,因此里面存储的信息都是跟...

编写高质量代码改善java程序的151个建议——[52

编写高质量代码改善java程序的151个建议——[52

原创地址:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),需要转载的,保留下! Thanks Although the world is full of...

java 实现图片压缩

转载https://www.cnblogs.com/strongmore/p/14158639.html 添加依赖 <dependency> <groupId>net.coobird</groupId> <artifa...

从 PHP 到 Java

最近主要编程语言从 PHP 转到了 Java,一个多月的经历对我很有意义,所以写文章记录一下经历,再分享一下最近学习 Java 的心得体会。 * { color: rgba(62, 62, 62, 1) } body { font-family: "Helvetica...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。