java设计模式之适配器模式

类适配器模式:

  原理:通过继承来实现适配器功能。

  当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要实现我们访问的接口A,这样我们就能继续访问当前接口A中的方法(虽然它目前不是我们的菜),然后再继承接口B的实现类BB,这样我们可以在适配器P中访问接口B的方法了,这时我们在适配器P中的接口A方法中直接引用BB中的合适方法,这样就完成了一个简单的类适配器。

适配器模式应用场景

类适配器与对象适配器的使用场景一致,仅仅是实现手段稍有区别,二者主要用于如下场景:   (1)想要使用一个已经存在的类,但是它却不符合现有的接口规范,导致无法直接去访问,这时创建一个适配器就能间接去访问这个类中的方法。   (2)我们有一个类,想将其设计为可重用的类(可被多处访问),我们可以创建适配器来将这个类来适配其他没有提供合适接口的类。   以上两个场景其实就是从两个角度来描述一类问题,那就是要访问的方法不在合适的接口里,一个从接口出发(被访问),一个从访问出发(主动访问)。 java代码实现:https://github.com/liaobaoxin/learn/tree/master/src/com/lbx/classAdapter

转载地址http://www.cnblogs.com/V1haoge/p/6479118.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术最杂谈

snova子账号操作指南1

在用户列表中,选择需要授权的子用户。关联snova相关读写权限。策略关联成功后,子用户即获取相关资源权限。

13620
来自专栏Snova云数仓

Snova添加子用户及策略操作指南1

在用户列表中,选择需要授权的子用户。关联snova相关读写权限。策略关联成功后,子用户即获取相关资源权限。

17970
来自专栏懒人开发

hadoop(2):对应的环境

这里自己也没有对应的服务器 自己通过VBox(用 VMware也一样) 创建多个linux的虚拟机

13530
来自专栏极客慕白的成长之路

CodeBlock最新版本离线安装使用教程

27330
来自专栏ytkah

公众号自定义菜单点击可打开相关小程序

微信公众号可将已关联的小程序页面放置到自定义菜单中,用户点击后可打开该小程序页面。如下图,在微信公众平台自定义菜单那边,菜单内容选择“跳转小程序”,然后设置小程...

78350
来自专栏coder修行路

git使用(一)----git安装

windows安装git msysgit是windows版本的Git 下载地址:https://git-for-windows.github.io/ 安装步骤 ...

23450
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用MySQL和Ruby on Rails应用程序

Ruby on Rails使用sqlite3作为其默认数据库,在许多情况下效果很好,但可能不适合您的应用程序。如果您的应用程序需要客户端/服务器SQL数据库(如...

9200
来自专栏cpp

缓存更新策略

问题:项目中,Redis用了缓存热点数据,持久化数据在MySQL DB中;那么Redis缓存数据什么时候更新呢?

54600
来自专栏余生开发

vue - .babelrc

        // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es7,es8进行转码,并且设置amd,comm...

13820
来自专栏python百例

120-打造vim为python IDE

pycharm之类的IDE很好,但是不能在无图形的终端下使用,另外它们是“重量级选手”。如果偶尔需要vim编辑python程序,能让vim支持python的语法...

21240

扫码关注云+社区

领取腾讯云代金券