Adapter 适配器模式

Adapter 适配器模式

目录

[TOC]

1. 概述

1.1. Head First设计模式定义

将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。

1.2. 自我理解

由于现在技术选型越来越多,比如说数据存储方面:传统的MySQL、Oracle及现在的大数据框架HBase、ElasticSearch、Redis等。
各个框架的增删改查的API是各不一样。 然后开发人员或许对大数据框架不熟悉,操作起来极不方便,这时可以用适配器来封装。
开发人员无需知道底层的具体增删改查操作,只需调用对应封装的方法即可。
例如下面的MySQL、HBase、Redis的增删改查都不一样,但是如果我们自己封装增删改查为 add、delete、udpate、list,是不是就可以屏蔽底层的各个数据存储框架自己的API了。

MySQL HBase Redis
插入 insert put set
删除 delete delete del
修改 update put set
查询 select get get

1.3. 迭代器的组成

Target: 目标类
Adaptee: 适应者,具体封装实现类;
Adapter: 适配器,能适配各种操作。

2. UML

3. Example

3.1. 场景

由于之前所有增量改查都走的MySQL,现在有了Redis内存框架,热点数据都走Redis,对于公司大部分人来说都是不熟悉该框架的,所以用适配器封装底层API。

3.2. Adapter设计模式的代码实现

原创文章,转载请注明: 转载自LoserZhao – 诗和远方[ http://www.loserzhao.com/ ]

本文链接地址: http://www.loserzhao.com/java/designpattern/adapter-designpattern.html

文章的脚注信息由WordPress的wp-posturl插件自动生成

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

使用新浪微博登陆