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

关键词排名优化网站建设公司寒亭区住房和城乡建设局网站

关键词排名优化网站建设公司,寒亭区住房和城乡建设局网站,涪陵做网站,wordpress文章多密码定义 将一个类的接口转换成客户希望的另一个接口。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://www.yayakq.cn/news/226447/

相关文章:

  • 网站建设年终总结怎么写建立一个网站多少钱
  • 建设厅网站2015154网页制作与网站建设服务器
  • 游戏推广网站制作平面网站模版
  • 如何运用网站做宣传太原seo关键词排名
  • 祥云平台英文网站做美食软件视频网站有哪些
  • 手工视频制作网站域名免费注册地址
  • 如何找网站推广手机可以制作游戏软件有哪些
  • 网站宽度1200px怎么开一个微信公众号
  • 怎么做购物型网站河南网站开发优化
  • 贵阳网站设计与开发怎么做wordpress 分类选模板
  • 高端网站设计 必荐骏网添城科技汕头手机网页制作
  • 公司注册网站方法快速建站属于saas吗
  • 青岛网站开发公司电话网站流量怎么提升
  • 厦门同安区建设局网站梨树县住房和城乡建设局网站
  • 东莞技术支持骏域网站建设专家net做网站
  • 西部数码网站管理助手4.0百度升级最新版本下载安装
  • 柳市哪里有做网站推广贵州整站优化seo平台
  • 怎么做捐款网站中国十大网站建设公司
  • 如何建设网站zy258网站seo 文章转载 修改标题
  • 湖北省利川市建设局网站快递建站收费标准
  • 上海网络建站模板外贸新手怎么找客户
  • 凡科做的网站怎么打不开了网站建设相关新闻
  • 南宁网站建设推广优化wordpress 分类目录 seo
  • php完整网站开发源码网站首页百度收录怎么做
  • 做服装商城网站论文桂林漓江景区介绍
  • 怎样在百度搜到自己的网站百度大全网站
  • 2021电商行业发展现状及趋势seo外链建设
  • 东莞整站优化推广公司找火速163网易企业邮箱入口
  • 大学生做网站兼职创意设计网站大全
  • 网站帮忙备案易语言做网站登录器