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

一站式服务建站深圳网站建设首选全通网络

一站式服务建站,深圳网站建设首选全通网络,微信公众平台官方,app网站开发招聘一、适配器模式 1.1、概述 适配器模式#xff08;Adapter Pattern#xff09;用于兼容不相关的接口之间#xff0c;类似于一个桥梁#xff0c;它结合了两个独立接口的功能#xff0c;这种类型的设计属于结构型模式#xff0c;为了方便大家伙的理解#xff0c;我举个例子…一、适配器模式 1.1、概述 适配器模式Adapter Pattern用于兼容不相关的接口之间类似于一个桥梁它结合了两个独立接口的功能这种类型的设计属于结构型模式为了方便大家伙的理解我举个例子例如国产的电源适配器标准输出电压是220v美国人购买该电源适配器后显然无法直接使用美国标准输出电压110vPS不怕把电脑充冒烟可以直接使用那么这个时候可以使用一个适配器将国产充电器的电压转换为美国标准电压后再进行使用这是生活中最常见的一个场景 类似的场景还有很多欢迎大家点赞留言举例作为23种设计模式之一的适配器模式Adapter Pattern在Java中有着广泛的应用例如基于IO流的BufferedInputStream、BufferedOutputStream基于SpringMVC的各种HandlerAdapter处理器适配器那么工作中我们应该怎么使用适配器模式助力开发呢下面进入实战演示环节 1.2、组成要素 Target客户期望获得的功能例如美国人需要110v的电压Client客户。通过访问Target接口来获取期望的功能110v电压Adaptee现有接口例如当前国产电源适配器的标准输出电压为220v需要被适配Adapter适配器类适配现有接口使其符合客户需求         结构图如下 1.3、思想 适配器提供和现有接口相同的功能即输出电压但是在输出电压时将现有接口注入然后在适配器实现中对现有接口的功能进行处理得到预期结果 1.4、案例代码 1.4.1、项目概览 1.4.2、pom 同 系列二十四、Spring设计模式之策略模式 # pom 1.4.3、ChinaChargerAdaptee /*** Author : 一叶浮萍归大海* Date: 2023/11/30 9:46* Description: 中国充电器标准输出电压220v*/ public interface ChinaChargerAdaptee {/*** 输出电压* return*/String outputVoltage();} 1.4.4、ChinaChargerAdapteeImpl /*** Author : 一叶浮萍归大海* Date: 2023/11/30 9:47* Description:*/ Component public class ChinaChargerAdapteeImpl implements ChinaChargerAdaptee {Overridepublic String outputVoltage() {return 220;} }1.4.5、ChargerAdapter /*** Author : 一叶浮萍归大海* Date: 2023/11/30 9:52* Description: 电源适配器*/ public interface ChargerAdapter {/*** 输出电压* return*/String outputVoltage();} 1.4.6、AmericanChargerAdapter /*** Author : 一叶浮萍归大海* Date: 2023/11/30 9:51* Description:*/ Component(value American) public class AmericanChargerAdapter implements ChargerAdapter {Resourceprivate ChinaChargerAdaptee chinaChargerAdaptee;Overridepublic String outputVoltage() {System.out.println(购买一个电源充电器原始标准输出电压 chinaChargerAdaptee.outputVoltage());// 模拟电压转换String adapterVoltage String.valueOf(Integer.valueOf(chinaChargerAdaptee.outputVoltage()) - 110);System.out.println(电压适配美国标准电压后的输出电压 adapterVoltage);return 【美国】输出标准电压 adapterVoltage;} } 1.4.7、IndiaChargerAdapter /*** Author : 一叶浮萍归大海* Date: 2023/11/30 9:51* Description:*/ Component(value India) public class IndiaChargerAdapter implements ChargerAdapter {Resourceprivate ChinaChargerAdaptee chinaChargerAdaptee;Overridepublic String outputVoltage() {System.out.println(购买一个【中国制造】的电源充电器原始标准输出电压 chinaChargerAdaptee.outputVoltage());// 模拟电压转换String adapterVoltage String.valueOf(Integer.valueOf(chinaChargerAdaptee.outputVoltage()) 10);System.out.println(电压适配印度标准电压后的输出电压 adapterVoltage);return 【印度】输出标准电压 adapterVoltage;} } 1.4.8、JapanChargerAdapter /*** Author : 一叶浮萍归大海* Date: 2023/11/30 9:51* Description:*/ Component(value Japan) public class JapanChargerAdapter implements ChargerAdapter {Resourceprivate ChinaChargerAdaptee chinaChargerAdaptee;Overridepublic String outputVoltage() {System.out.println(购买一个【中国制造】的电源充电器原始标准输出电压 chinaChargerAdaptee.outputVoltage());// 模拟电压转换String adapterVoltage String.valueOf(Integer.valueOf(chinaChargerAdaptee.outputVoltage()) - 120);System.out.println(电压适配日本标准电压后的输出电压 adapterVoltage);return 【日本】输出标准电压 adapterVoltage;} } 1.4.9、NationParam /*** Author : 一叶浮萍归大海* Date: 2023/11/30 10:35* Description:*/ Data AllArgsConstructor NoArgsConstructor Accessors(chain true) ToString(callSuper true) public class NationParam implements Serializable {private String nationType;} 1.4.10、AdapterService /*** Author : 一叶浮萍归大海* Date: 2023/11/30 10:21* Description:*/ public interface AdapterService {/*** 输出电压* param param* return*/String outputVoltage(NationParam param);} 1.4.11、AdapterServiceImpl /*** Author : 一叶浮萍归大海* Date: 2023/11/30 10:21* Description:*/ Service public class AdapterServiceImpl implements AdapterService {Overridepublic String outputVoltage(NationParam param) {ChargerAdapter chargerAdapter SpringUtil.getBean(param.getNationType(), ChargerAdapter.class);return chargerAdapter.outputVoltage();} } 1.4.12、AdapterController /*** Author : 一叶浮萍归大海* Date: 2023/11/30 10:18* Description:*/ RestController public class AdapterController {Resourceprivate AdapterService adapterService;PostMapping(/outputVoltage)public String outputVoltage(RequestBody NationParam param) {return adapterService.outputVoltage(param);}} 1.4.13、测试
http://www.pierceye.com/news/385747/

相关文章:

  • 长沙做网站找哪家好毕业设计开题报告网站开发
  • 可以写代码的网站有哪些问题吗网页设计与网站建设期末考试试卷
  • 美工做网站怎么收费网站设计规范
  • 建网站需要注意的问题企业整合营销
  • 2018网站开发的革新wordpress 更新数据库
  • 做现金贷的网站有哪些如何自己建立一个网站
  • 网站制作公司前十名wordpress保存的字体大小
  • 网站设计思路方案海外购物网站哪个最好
  • 哪个网站做课件能赚钱青岛制作网站的
  • 深圳做网站排名公司哪家好html网页设计实训报告范文
  • 外贸网站开发做动画 的 网站有哪些软件下载
  • 中国建设银行吉林省分行官网站wordpress形式
  • 做门户网站可以用的字体黑龙江建设教育网站
  • 怎么做网站建设赚钱知名品牌设计logo解析
  • wordpress全站静态化做公司网站 找谁做
  • 广安网站建设哪家好网站模板下载网站
  • 游戏怎么做充值网站wordpress 预约主题
  • 珠海做网站三年多少钱免费ai写作网站3000字
  • 陕西建设网综合服务中心网站跨境电商怎么搞
  • 青岛做网站需要多少钱怎么在网上卖东西赚差价
  • 永康网站设计新闻门户网站建设方案
  • 个人做网站被骗洛阳电商网站建设公司排名
  • 蒙文网站建设情况汇报设计素材网站照片
  • 南京网站设计费用wordpress讨论
  • 可以做防盗水印的网站工业设计专业最好的大学
  • 中国flash网站模板中心温州做网站软件
  • 个人网站设计论文前言搜索引擎推广的网络营销渠道
  • 中国国家建设部网站如何做网站赚流量钱
  • wordpress 网站底部美化天津seo排名扣费
  • 网站开发PHP招聘宁波梅山建设局网站