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

南京网站设计建设公司电话重庆的网络公司

南京网站设计建设公司电话,重庆的网络公司,包头教育云平台网站建设,找投资项目的网站写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 适配器模式(Adapte…

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。

适配器模式(Adapter)

是一种行为型模式。

目录

一、概述

二、使用步骤

三、举例


一、概述

1、将一个类的接口转换成客户希望的另外一个接口;
2、使得原本由于接口不兼容而不能一起工作的那些类可以一起工作;
3、适配器模式主要用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。

1.1、主要的角色分三种,但从代码(或技术)实现的角度看(为了充分使用面向对象语言的3大特性封装、继承、多态,还另外需要抽象类或接口)可能有4个:

  1. 客户原本需要的类,包括:客户原本需要的类的抽象类或接口(单个)+ 客户原本需要的类的实现类(多个)
  2. 需要适配的旧对象(数量没有明确限定)
  3. 适配器(数量没有明确限定)

  1.2、直观的理解上发起方使用需要适配的旧对象的流程如下:

 1.3、通过技术实现的角度看,对象之间关系的UML图如下:

二、使用步骤

  1. 先确定哪些对象不能被直接使用;
  2. 针对这些对象建立相应的适配器;
  3. 请求发起类直接在需要的时候直接调用适配器即可。

三、举例

简单举例,假设主程序需要一个普通请求,和一个特殊请求,其中主程序没有办法直接调用特殊请求。

对于本例,由于比较简单,可以不需要对普通请求对象进行抽象,我们在实践时也是一样,如果问题本身不是太复杂,也就不需要刻意花功夫去进行抽象,在其他模式种也一样。所以我们只需要加一个适配器即可。

3.1、设计之后,对象之间的关系用UML图表示如下:

3.2、Java实现代码如下(建议你在本地试一下,加深印象):

普通请求类:

public class Target {public void request() {System.out.println("普通请求!");}
}

特殊请求(被适配的对象):

public class Adaptee {public void specificRequest(){System.out.println("特殊请求!");}
}

适配器:

public class Adapter extends Target {private Adaptee adaptee = new Adaptee();@Overridepublic void request() {adaptee.specificRequest();}
}

 主程序(发起请求的类):

public class Main {public static void main(String[] args) {//普通请求Target target1 = new Target();target1.request();//适配后的请求Target target2 = new Adapter();target2.request();}
}

这里就不再举例了,可以把上面的Java例子复制到你本地,运行main函数试一下加深理解。这些代码都是我自己学习的时候根据一些教材手敲的,不存在bug可以直接运行。

如果觉得本文还不错,就请点个赞吧!如果有建议,也请评论指教和讨论!

http://www.yayakq.cn/news/60712/

相关文章:

  • 做兼职网上哪个网站wordpress $数组
  • 淘宝直接怎么做网站网站开发与移动互联
  • 怀宁县住房和建设局网站西青做网站的公司
  • 沈阳设计培训网站建设中国互联网协会成立于哪一年
  • 如何做网站诊断网站模块功能
  • 保护环境网站模板wordpress商城积分插件
  • 站长工具seo下载南靖企业网站建设公司
  • 青海做网站哪家好搭建网站是要什么
  • 公司网站设计网络公司遵义做网站推广
  • 全响应网站开发定制软件公司
  • 千博企业网站管理系统营销旗舰版wordpress 音乐 主题
  • s001网站建设设计html网站地图生成工具
  • 郑州门户网站制作沈阳做企业网站
  • 外贸公司网站阿里logo设计网站
  • 有没有人通过网站建设卖东西的无锡网站制作价格多少
  • 代理加盟网站建设公司网站建设gong
  • 网站建设技术发展趋势预测如何推广一个产品
  • 辽阳建设网站找哪家唐山网站建设开发
  • 网站引导动画怎么做福贸外贸论坛
  • php网站开发说明阿里云注册网站之后怎么做网站
  • 郑州企业网站优化服务哪家好ih5平台发展前景
  • 南京软件网站建设公司怎么用域名做邮箱网站
  • 水果网站建设单页面网站开发
  • 山东省住房和城乡建设厅服务网站如何做淘客网站源码
  • 桂林网站seo诚聘php网站开发师
  • 网站开发有哪些服务器wordpress 优化变快
  • 网站建设宣传方案网站关键词优化多少钱
  • 注册公司地址可以是住宅吗天津网站建设 seo
  • 网站开发女建设公司网站的申请
  • 男女做a视频网站做钉子出口哪个网站好