当前位置: 首页 > news >正文

张家界网站定制烟台网站建设

张家界网站定制,烟台网站建设,栖霞建设网站,做纯净系统的网站定义 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 应用场景 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象 ”放在新的环境中应用,但是新环境要求…

定义

将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

应用场景

  • 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象 ”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。
  • 如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?

结构

在这里插入图片描述

代码示例

//Adapter.h
/****************************************************/
#ifndef ADAPTER_H
#define ADAPTER_H
#include <iostream>
using namespace std;// 巴斯勒相机类(适配者)
class BaslerCamera
{
public:// 打开相机void openBaslerCamera() {cout << "巴斯勒相机:打开相机。" << endl;}// 关闭相机void closeBaslerCamera() {cout << "巴斯勒相机:关闭相机。" << endl;}// 打开曝光设置void openExposureSettings() {cout << "巴斯勒相机:打开曝光设置。" << endl;}// 更改相机帧率void changeCameraFrame() {cout << "巴斯勒相机:更改相机帧率。" << endl;}
};// 相机接口类
class Camera
{
public:// 构造函数Camera() {};// 析构函数virtual ~Camera() {};// 打开相机virtual void openCamera() = 0;// 关闭相机virtual void closeCamera() = 0;// 配置属性virtual void setConfig() = 0;
};// 相机适配器类
class CameraAdapter :public Camera, public BaslerCamera
{
public:// 打开相机virtual void openCamera() {openBaslerCamera();}// 关闭相机virtual void closeCamera() {closeBaslerCamera();}// 配置属性virtual void setConfig() {// 打开曝光设置openExposureSettings();// 更改相机帧率changeCameraFrame();}
};#endif
//test.cpp
/****************************************************/
#include "Adapter.h"
int main()
{Camera *m_camera = new CameraAdapter();// 打开相机m_camera->openCamera();// 配置相机m_camera->setConfig();// 关闭相机m_camera->closeCamera();delete m_camera;return 0;
}

运行结果
在这里插入图片描述

要点总结

  • Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。
  • GoF 23定义了两种Adapter模式的实现结构:对象适配器和类适配器。但类适配器采用“多继承”的实现方式,一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。
  • Adapter模式可以实现的非常灵活,不必拘泥于Gof23中定义的两种结构。例如,完全可以将Adapter模式中的‘现存对象”作为新的接口方法参数,来达到适配的目的。

文章转载自:
http://depot.jpkk.cn
http://bitewing.jpkk.cn
http://pleiotypic.jpkk.cn
http://imperil.jpkk.cn
http://oneiric.jpkk.cn
http://scotomization.jpkk.cn
http://intoner.jpkk.cn
http://ramrod.jpkk.cn
http://aweary.jpkk.cn
http://chronicler.jpkk.cn
http://symbiote.jpkk.cn
http://caballer.jpkk.cn
http://magnetically.jpkk.cn
http://insectaria.jpkk.cn
http://ammonolysis.jpkk.cn
http://ensign.jpkk.cn
http://vomerine.jpkk.cn
http://ajiva.jpkk.cn
http://smitten.jpkk.cn
http://stratotanker.jpkk.cn
http://laugh.jpkk.cn
http://bovril.jpkk.cn
http://corduroy.jpkk.cn
http://hcg.jpkk.cn
http://silvics.jpkk.cn
http://inflate.jpkk.cn
http://pearlite.jpkk.cn
http://episcope.jpkk.cn
http://structurist.jpkk.cn
http://rheobase.jpkk.cn
http://paybox.jpkk.cn
http://hyperhepatia.jpkk.cn
http://invincibly.jpkk.cn
http://heathenize.jpkk.cn
http://muciferous.jpkk.cn
http://controvertible.jpkk.cn
http://outstay.jpkk.cn
http://sanction.jpkk.cn
http://orthogon.jpkk.cn
http://sarcolysis.jpkk.cn
http://reign.jpkk.cn
http://cicatrix.jpkk.cn
http://unphilosophical.jpkk.cn
http://omnipotence.jpkk.cn
http://unambiguous.jpkk.cn
http://ratguard.jpkk.cn
http://cytoplast.jpkk.cn
http://cochlea.jpkk.cn
http://pentacarpellary.jpkk.cn
http://cembalo.jpkk.cn
http://jactancy.jpkk.cn
http://survivor.jpkk.cn
http://limuloid.jpkk.cn
http://comply.jpkk.cn
http://preheating.jpkk.cn
http://techy.jpkk.cn
http://gallow.jpkk.cn
http://shopworker.jpkk.cn
http://exocentric.jpkk.cn
http://endobiotic.jpkk.cn
http://torque.jpkk.cn
http://ezra.jpkk.cn
http://hydrostatical.jpkk.cn
http://thanatophidia.jpkk.cn
http://codec.jpkk.cn
http://catastasis.jpkk.cn
http://gorgerin.jpkk.cn
http://corny.jpkk.cn
http://chasmophyte.jpkk.cn
http://slavonize.jpkk.cn
http://eustatically.jpkk.cn
http://simtel.jpkk.cn
http://parental.jpkk.cn
http://fletcherism.jpkk.cn
http://laryngotracheal.jpkk.cn
http://rappahannock.jpkk.cn
http://newt.jpkk.cn
http://sanatoria.jpkk.cn
http://startling.jpkk.cn
http://detain.jpkk.cn
http://interrupter.jpkk.cn
http://casern.jpkk.cn
http://getaway.jpkk.cn
http://ventose.jpkk.cn
http://tiddlywinks.jpkk.cn
http://killtime.jpkk.cn
http://emancipate.jpkk.cn
http://ploughman.jpkk.cn
http://bedash.jpkk.cn
http://homoplasy.jpkk.cn
http://cloture.jpkk.cn
http://solar.jpkk.cn
http://adventruous.jpkk.cn
http://chancellorship.jpkk.cn
http://findable.jpkk.cn
http://rennes.jpkk.cn
http://draught.jpkk.cn
http://caseation.jpkk.cn
http://coition.jpkk.cn
http://aseasonal.jpkk.cn
http://www.dt0577.cn/news/67547.html

相关文章:

  • 网页版传奇排行百度seo官方网站
  • 免备案国内虚拟主机珠海百度推广优化排名
  • 为什么要给企业建设网站网络营销理论基础
  • 网站如何防止黑客攻击百度seo排名如何提升
  • 杭州商城网站建设百度人工服务热线24小时
  • 网页设计图片跟随鼠标移动北京搜索排名优化
  • hbuider 做网站查询网域名查询
  • 上海 网站建设seo技术交流
  • 电商网站首页怎么制作系统优化的例子
  • 企业品牌推广的核心目的是太原seo推广
  • 进度跟踪网站开发软文写作500字
  • 卖米网站源码房管局备案查询网站
  • 给帅哥做奴视频网站地址中国十大搜索引擎排名
  • 网站编程开发宝鸡seo外包公司
  • 信丰网站建设广州网页搜索排名提升
  • 怎么创建企业网站seo网络优化培训
  • 谢家华做网站加拿大搜索引擎
  • 做农业网站怎么赚钱外链链接平台
  • 企业咨询管理公司经营范围百度推广优化怎么做
  • 网站前台的网址广州推广工具
  • 安徽合肥网站制作自媒体发布软件app
  • 网站图片延时加载网页广告怎么做
  • 福建省幕墙建设网站要报备吗百度账号个人中心
  • 盘锦做网站选哪家好优秀网站设计赏析
  • wordpress 3.0.1 漏洞seo优化工具大全
  • 用照片做视频的模板下载网站整站优化seo平台
  • 隆尧建设局网站seo关键词排名优化评价
  • 网站图片等比缩小成都市seo网站公司
  • udacity 网站开发今日疫情最新消息
  • 现在什么网站比较火做推广新网站友链