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

网络营销企业网站设计希爱力吃一颗能干多久

网络营销企业网站设计,希爱力吃一颗能干多久,互联网保险的风险,百度seo点击文章目录 简介场景问题解决方案建立中间转换层关键收益 总结 简介 使接口不兼容的类实现协同工作,通过引入中间层实现客户端接口和服务端接口的兼容。典型场景比如整合第三方类库或遗留系统时保持代码兼容。 场景 假设你正在开发一个股票监控程序。这个程序会下…

文章目录

  • 简介
  • 场景
  • 问题
  • 解决方案
    • 建立中间转换层
    • 关键收益
  • 总结

简介

使接口不兼容的类实现协同工作,通过引入中间层实现客户端接口和服务端接口的兼容。典型场景比如整合第三方类库或遗留系统时保持代码兼容。
在这里插入图片描述

场景

假设你正在开发一个股票监控程序。这个程序会下载股票数据(XML格式),然后为用户显示图表。
现在,需要集成第三方分析库来分析股票数据。但分析库只能接收 JSON 格式的数据。
在这里插入图片描述
你可以更改库让他支持XML格式数据。但是,这可能会破坏已经依赖这个库的现有代码。况且你可能都没办法拿到这个库的源代码。

问题

  • 接口不匹配:客户端调用规则与现有服务类接口无法直接通信(如XML需转JSON)
  • 保护现有代码:无法修改第三方/遗留代码,避免侵入性改造(比如封闭系统或缺乏源码)

解决方案

你可以创建一个适配器。它是一个特殊的对象,可以转换一个对象的调用接口,来让另一个对象可以很方便的调用它。
适配器会包装其中一个对象,来隐藏幕后转换的复杂性。被包装的对象甚至不知道适配器的存在。
适配器不仅可以把数据转换为各种格式,还可以帮助具有不同接口的对象进行协作。它是咋做到的呢?

  1. 适配器实现了一个与现有对象之一兼容的接口。
  2. 使用这个接口,现有的对象可以安全地调用适配器的方法。
  3. 接收到调用后,适配器把请求传递给第二个对象,但采用的是第二个对象期望的格式和调用顺序。

有时甚至可以创建一个双向适配器,可以在两个方向上转换调用。

让我们回到我们的股票监控程序。为了解决格式不兼容的难题,我们为分析库的每个类创建 XML 到 JSON 的适配器。然后,你可以调整你的代码,只通过这些适配器与三方库通信。当适配器收到调用时,它会把传入的 XML 数据转换为 JSON 数据,然后调用被包装的对象的相应方法。
在这里插入图片描述

建立中间转换层

  • 定义客户端协议接口,强制适配器实现该约定
public interface ClientInterface {void execute(String params);
}
  • 适配器持有服务实例引用,进行数据转换和委托调用
public class ServiceAdapter implements ClientInterface {private ThirdPartyService service;public ServiceAdapter(ThirdPartyService service) {this.service = service; // 包装服务对象}@Overridepublic void execute(String params) {JSON jsonData = convertToJson(params); // 接口格式转换service.process(jsonData); // 调用实际服务方法}
}

关键收益

  • 客户端零修改:符合开闭原则,新增适配器不影响现有业务逻辑
  • 统一管控入口:集中处理协议转换和异常,降低重复代码率

总结

在这里插入图片描述

  1. 客户端Client:是一个包含现有业务逻辑的类。
  2. 客户端接口Client Interface:描述了其他类必须遵循的协议,这样才能和客户端代码协作。
  3. Service:是一些有用的类(通常是第三方或遗留的)。客户端不能直接使用这个类,因为它的接口不兼容客户端的调用方式。
  4. 适配器Adapter:是一个能够跟 Client和Service 一起工作的类,也就是实现Client Interface,同时包装Service对象。Adaptor通过Client Interface接收来自Client的调用,并把它转换成对Service对象的调用,同时转换成它能理解的数据格式。
  5. 客户端代码只需通过接口与适配器交互就可以了,不需要和具体的适配器类耦合。所以,你可以向程序里添加新类型的适配器而不修改现有的代码。这种情况在Service类的接口被更改或替换时非常有用,因为不需要修改客户端代码就可以创建新的适配器类。
http://www.dtcms.com/wzjs/19214.html

相关文章:

  • 哪个网站做效果图好可以投放广告的网站
  • 企业网站的建设营销软文500字
  • 新疆建设兵团第五师网站网页制作软件
  • 做网站视频用哪个视频编辑软件沈阳百度seo关键词优化排名
  • 西安企业网站建站网站建设的公司
  • 网站设计与维护最新军事新闻
  • 网站建设公司开发企业北京网站常用的seo网站优化排名
  • 做网站项目需要多少钱竞价推广网络推广运营
  • 网站留言模板网络推广员岗位职责
  • 自己做内部网站服务器域名查询
  • 网站会员系统怎么做模版网站链接提交
  • 最版网站建设案例淘宝补流量平台
  • 自己网站做短链接今天的热搜榜
  • 用cms做的网站 的步骤百度双十一活动
  • 怎么在外汇局网站做结汇申报成都互联网公司排名
  • 东营市河口区建设局网站正规网络教育培训机构
  • 北京网站建设报价永久免费自助建站平台
  • 国内知名网站制作公司举三个成功的新媒体营销案例
  • 山西钢铁建设集团有限公司网站北京网站建设公司优势
  • 品牌网站的推广成人教育机构排行前十名
  • 建设网站目的b2b自动发布信息软件
  • 滁州网站开发公司优化seo教程
  • 联合建设官方网站东莞网站关键词优化公司
  • 网站建设开发费会计分录网站关键词优化的步骤和过程
  • 陵水网站建设价格深圳seo秘籍
  • 医院响应式网站建设方案集合竞价口诀背熟6句
  • 美国专门做特卖的网站有哪些域名备案官网
  • 过界女主个人做网站的cms建站系统
  • 做网站发房源综合语录seo公司推广宣传
  • 点评类网站建设最近几天的新闻