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

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

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

一、概述

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

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

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

二、适配器模式类图

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

——written by linhxx 2017.08.10

相关阅读:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

java代码设计的6+1大原则

1.开闭原则(Open Close Principle) 定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 开放-封闭原则的意思就是说,你...

773
来自专栏阮一峰的网络日志

为什么Lisp语言如此先进?(译文)

上周,《黑客与画家》总算翻译完成,已经交给出版社了。 翻译完这本书,累得像生了一场大病。把书稿交出去的时候,心里空荡荡的,也不知道自己得到了什么,失去了什么。 ...

2656
来自专栏一个会写诗的程序员的博客

Clojure与LispClojure与Lisp

Lisp 是一种编程语言,以表达性和功能强大著称,但人们通常认为它不太适合应用于一般情况。Clojure 是一种运行在 Java™ 平台上的 Lisp 方言,它...

633
来自专栏狮乐园

【译】Understanding SOLID Principles - Liskov Substitution Principle

这句话的意思是说,当我们在传递一个父抽象的子类型时,你需要保证你不会修改任何关于这个父抽象的行为和状态语义。

641
来自专栏张善友的专栏

读《代码不朽:编写可维护软件的10大要则》C# 版

这本书特别针对没有接受过计算机科学或软件工程专业学习的软件开发人员,这类人员除了熟悉所用语言语法和语义之外,很少接受其他专业培训,对软件工程中的一些概念理解欠缺...

5930
来自专栏spring源码深度学习

设计模式——代码如若初相见

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

642
来自专栏大宽宽的碎碎念

程序里怎么表达“没有”

最近忙着调研gRPC做服务治理,尝试用protobuf3重写现有的接口逻辑,发现了一个问题:protobuf3的基本类型不支持nullable。如果想表达“没有...

602
来自专栏精讲JAVA

Gof设计模式之七大设计原则(六)

前言 今天的设计原则重理论,举例子只能是文字形式,没法使用代码解释,希望大家可以多读几遍。真正体会到设计原则的好处。每一个设计原则,我都尽量用非...

19910
来自专栏自动化测试实战

接口测试基础——第6篇unittest模块(三)

2856
来自专栏Java学习网

面向对象设计的 10 条戒律

不,这不是上帝说的。 这也不是Jon Skeet / Martin Fowler / Jeff Atwood / Joel Spolsky(可以用你最喜欢的技术...

2693

扫码关注云+社区