文档章节

设计模式-结构-Adapter(适配器)模式

梦想游戏人
 梦想游戏人
发布于 2016/05/02 14:55
字数 172
阅读 28
收藏 2

情景1:项目中采用的第三方库和 本程序 的接口不一致,为了达到一致,可用适配器模式

情景2: 一个功能 由多个不相干的 多个功能组合而成,


适配器模式有2种类别:对象模式和 类模式

类模式:采用继承方式复用Adaptee

对象模式:采用组合复用Adaptee

class Target
{

public:
	virtual void Request()
	{

	}


};

class Adaptee
{
public:
	void SpecificRequest()
	{
		cout << __FUNCTION__ << endl;

	}
};


// 类模式
class Adapter :public Target, public Adaptee
{
public:
	void Request()override
	{
		Adaptee::SpecificRequest();

	}


};


// 对象模式
class Adapter1 :public Target
{
public:
	void Request()override
	{
		adaptee.SpecificRequest();

	}
private:
	Adaptee adaptee;

};






int main(int argc, char *argv[])
{
	 

	Target * target = new Adapter1;
	target->Request();

	system("pause");
	return 0;
}


© 著作权归作者所有

梦想游戏人
粉丝 38
博文 445
码字总数 127977
作品 0
成都
私信 提问
【设计模式】适配器模式 Adapter Parttern

适配器模式在软件开发界使用及其广泛,在工业界,现实中也是屡见不鲜。比如手机充电器,笔记本充电器,广播接收器,电视接收器等等。都是适配器。 适配器主要作用是让本来不兼容的两个事物兼...

风之源
2018/08/08
0
0
EasyToLearnDesignPattern

简单上手设计模式 GITHUB:https://github.com/Fisher-Joe/EasyToLearnDesignPattern 本文旨在使用最简单的语言,最简单的代码让人学习设计模式(最起码是我) 说明: 本文的所有内容都是基于...

芝麻开门
04/19
0
0
设计模式(十四)[结构模式] 适配器模式(Adapter)

1.什么是适配器模式? 把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。 2.类的适配器模式的结构 目标(Target)角色:这就是所期...

1527
2018/10/06
0
0
设计模式之适配器模式(结构型)

@[toc] 模式定义 适配器模式(Adapter Pattern):将一个接口转换成客户希望的接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式...

smileNicky
03/08
0
0
设计模式的学习(7)适配器模式

适配器模式 适配器模式(Adapter Pattern)将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。 适配器模式既可以作为类结构型模式,也可以作...

杨健-YJ
2018/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
2
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
3
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部