设计模式专题(十四)——适配器模式

设计模式专题(十四)——适配器模式

(原创内容,转载请注明来源,谢谢)

一、概述

适配器模式(Adapter)是将一个类的接口转换成客户希望的另外一个接口,该模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。

在软件设计初期,通常不会用适配器模式,适配器模式属于一种亡羊补牢的措施。当代码量太大,而接口又经过多重的迭代,两个接口之间变得没法直接调用,而接口的调用点有太多,修改接口风险太大,则需要用到适配器模式。

另外,当需要调用第三方接口,如果第三方接口的调用方式和系统内部已经写好的方式不同,也没必要完全去迎合第三方接口来编写系统本身的接口,此时就可以使用适配器模式,专门写一个类去进行各种第三方接口的操作。如DB、Redis、Memcache、文件等操作,就可以写专门的类,封装成方法,系统内部只要调方法即可。

二、适配器模式类图

该模式就是接口的转换,功能比较简单,故不采用程序来实现。

——written by linhxx 2017.08.10

相关阅读:

设计模式专题(十三) ——备忘录模式

设计模式专题(十二)——状态模式

设计模式专题(十一)——抽象工厂模式

设计模式专题(十)——观察者模式

设计模式专题(九) ——外观模式

设计模式专题(八) ——模板方法模式

设计模式专题(七)——建造者模式

设计模式专题(六)——原型模式

设计模式专题(五)——工厂方法模式

设计模式专题(四)——代理模式

设计模式专题(三)——装饰模式

设计模式专题(二)——策略模式

设计模式专题(一)——面向对象的设计原则

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2017-08-10

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

抓包工具Wireshark过滤规则实践第一篇

引子 现在从网上看到的一些wireshark过滤规则的介绍,都是比较老一点的,新版本的语法好像有所变化,所以在这里写一篇基于最新的1.12版本的wireshar...

4279
来自专栏玄魂工作室

Python爬虫之urllib模块2

--------------------------------------------------------------------------------...

2905
来自专栏小灰灰

SPI框架实现之旅一:背景介绍

SPI框架实现之旅一:背景介绍 SPI的全名为Service Provider Interface,简单的总结下java spi机制的思想。我们系统里抽象的各...

24110
来自专栏程序员叨叨叨

听说你们家的NotifyDataSetChanged不起作用了

前几天,公司项目准备上线,就在前一晚,出现了一个BUG:主页界面刷新无效。千钧一发之际,用了一个笨方法,每次刷新的时候重新setAdapter一下算是实现了基本...

892
来自专栏程序员的知识天地

用 Python 抓网页,你想问的都帮答好了,你还有不懂的吗?

近年来,随着大数据、人工智能、机器学习等技术的兴起,Python 语言也越来越为人们所喜爱。但早在这些技术普及之前,Python 就一直担负着一个重要的工作:自...

1203
来自专栏CSDN技术头条

Java 10新特性解密

随着Java开发工具包(JDK)9的发布,大量的注意力都集中在Java的最新特性上,包括引入模块(通过集成项目Jigsaw)。尽管最近的很多关注都集中在这些强大...

3808
来自专栏IT可乐

深入理解计算机系统(4.1)------Y86指令集体系结构

  本章我们将进入处理器体系结构介绍的神秘海洋中,我们熟悉的手机,电脑等设备的核心硬件都离不开处理器。处理器可以称的上是人类创造的最复杂的系统之一,一块手指大小...

24410
来自专栏Java社区

Java核心技术讲解学习

1403
来自专栏编程

Python教程2

前言 有关标准对象和模块的说明,请参阅Python标准库(https://docs.python.org/3/library/index.html#librar...

2119
来自专栏丑胖侠

《Drools 7 规则引擎教程》番外篇-规则条件匹配机制

问题场景 QQ技术群(593177274)中有同学遇到这一个问题场景:在多条规则(比如3条)的when中使用了一个相同的静态方法,并在静态方法中打印相关的日志信...

2478

扫码关注云+社区