当前位置: 首页 > news >正文

免费python在线正常网站一键优化表格

免费python在线正常网站,一键优化表格,企业网站网页设计费用,jsp网站开发详解 pdf适配器模式(Adapter Pattern)属于结构型模式 概述 结构型模式关注如何将现有的类或对象组织在一起形成更加强大的结构。 在生活中,我们经常遇到这样的一个问题:轻薄笔记本通常只有 type-c 或者 usb-a 接口,没有网口。…

适配器模式(Adapter Pattern)属于结构型模式

概述

结构型模式关注如何将现有的类或对象组织在一起形成更加强大的结构。

在生活中,我们经常遇到这样的一个问题:轻薄笔记本通常只有 type-c 或者 usb-a 接口,没有网口。但日常使用中是往往需要连接网口上网的,这时想到的第一个解决方案,就是去买一个转接头或者扩展坞。它们可以将 type-c 或者 usb-a 转换为其他类型的接口供我们使用,实际上这就是一种适配器模式

我们常用的充电头,为什么叫电源适配器呢?传统的供电是 220V 交流电,但是手机可能只需要 5V 的电压进行充电,所以虽然现在有电,但是不能直接充。也不可能让电力公司专门为我们提供一个 5V 的直流电使用,这时电源适配器就开始发挥作用了。比如苹果的祖传 5V1A 充电头,实际上就是将 220V 交流电转换为 5V 的直流电进行传输。这样就相当于在 220V 交流电和手机之间,做了一个适配器的角色。

适配器模式分为类适配器对象适配器。

代码实现

这里以电脑需要转接器连接网线上网为例:

类适配器

1、定义电脑

/*** 电脑* <p>想上网,需要插网线*/
public class Computer {/*** 电脑需要连接上转换器才可以上网** @param adapter 转接器*/public void connect(NetToUsb adapter) {// 上网的具体实现,找一个转接头adapter.connectNetLine();}
}

2、定义网线

/*** 网线*/
public class NetLine {/*** 上网*/public void online(){System.out.println("连接网线上网");}
}

3、定义 usb 转网口转接器

/*** 转接器*/
public interface NetToUsb {/*** 处理请求,usb -> 网线*/void connectNetLine();
}

4、定义类适配器

/*** 类适配器*/
public class ClassAdapter extends NetLine implements NetToUsb {@Overridepublic void connectNetLine() {// 可以上网了super.online();}
}

5、使用适配器连接网线上网

// 电脑
Computer computer = new Computer();
// 转接器已经插上网线
ClassAdapter adapter = new ClassAdapter();
// 电脑连接转接器,成功上网
computer.connect(adapter);

这种实现方式需要占用一个继承位。如果此时 NetToUsb 不是接口而是抽象类的话,由于 Java 不支持多继承,就无法实现了。同时根据合成复用原则,应该更多的通过合成的方式去实现功能。

所以来看看第二种,也是用的比较多的一种模式:对象适配器

对象适配器

4、定义对象适配器

/*** 对象适配器*/
public class ObjectAdapter implements NetToUsb {/*** 网线*/private NetLine netLine;public ObjectAdapter(NetLine netLine) {this.netLine = netLine;}@Overridepublic void connectNetLine() {// 可以上网了netLine.online();}
}

5、使用适配器连接网线上网

/*** 测试示例*/
public class ObjectAdapterTest {@Testpublic void test() {// 电脑Computer computer = new Computer();// 网线NetLine netLine = new NetLine();// 转接器插上网线ObjectAdapter adapter = new ObjectAdapter(netLine);// 电脑连接转接器,成功上网computer.connect(adapter);}}

这样的方式不会占用继承位,且满足合成复用原则,耦合度更低,也更加灵活,推荐使用

优缺点

优点

1、可以让任何两个没有关联的类一起运行。

2、提高了类的复用。

3、增加了类的透明度。

4、灵活性好。

缺点

1、过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是 A 接口,其实内部被适配成了 B 接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构。

2、由于 Java 至多继承一个类,所以至多只能适配一个类,而且目标类必须是抽象类。

使用场景

有动机地修改一个正常运行的系统的接口,这时应该考虑使用适配器模式。

注意事项

适配器不是在详细设计时添加的,而是解决正在服役的项目的问题。


参考

https://www.bilibili.com/video/BV1mc411h719?p=7&vd_source=299f4bc123b19e7d6f66fefd8f124a03

http://www.mmbaike.com/news/110326.html

相关文章:

  • 百度网站是用什么软件做的广州疫情今天最新消息
  • 安阳宣传片制作公司成都网站优化
  • 免费制作企业宣传册制作工具关键词优化按天计费
  • 朝阳市网站制作百度竞价排名推广
  • 站长工具seo综合查询黄百度软件中心官网
  • 复兴网站制作汕头seo优化公司
  • 丹阳网站建设提交网址给百度
  • 网站建设收费标准精英个人模板建站
  • wordpress 简洁主题优化大师怎么卸载
  • 推特登陆 网站建设企业网络推广服务
  • 做网站需要交税西安seo报价
  • 网站的k线图怎么做百度资源搜索引擎
  • 模板网站免费建站深圳网络整合营销公司
  • 苏州官网网站首页seo技术服务外包
  • 建筑网站资料排行榜关键词优化需要从哪些方面开展
  • java用什么软件编写广州seo成功案例
  • 网络营销的4p策略北京网站seo招聘
  • 做网站策划师的图片太原企业网站建设
  • 上海做网站的公司官网站长素材音效下载
  • 电商网站的二级菜单怎么做软件开发工程师
  • 岳阳二手房网站惠州seo按天计费
  • 电脑搭建网站步骤百度网盘app官方下载
  • 室内设计方案西安seo计费管理
  • 帮别人做网站收多少钱合适外包网站有哪些
  • 网站建设全程揭秘seo教程搜索引擎优化
  • 苏州大写的网站建设单页面网站如何优化
  • whmcs整合wordpress百度怎么优化网站排名
  • 唐山长城网站建设培训心得体会500字
  • 网站建设宣传资料网络app推广是什么工作
  • 网站建设教程培训长沙靠谱的关键词优化