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

比较有名的设计网站wordpress音乐站

比较有名的设计网站,wordpress音乐站,泰安网站建设论文结论,广元商城网站开发概念 代理模式是一种结构型模式,主要用于在客户端和接口之间添加一个中间层,用于在客户端和接口之间进行权限控制或者其他的中间层操作。 使用场景 1、延缓初始化,当我们偶尔需要使用一个重量级的服务对象,如果一直保持该对象的…

概念

代理模式是一种结构型模式,主要用于在客户端和接口之间添加一个中间层,用于在客户端和接口之间进行权限控制或者其他的中间层操作。

使用场景

1、延缓初始化,当我们偶尔需要使用一个重量级的服务对象,如果一直保持该对象的运行会消耗大量的系统资源,这时候就可以使用代理。也可以控制重量级的对象进行即可销毁。

2、权限访问控制,当我们希望特定的客户端使用接口的时候,就可以使用代理模式。当复合我们的条件的时候再进行真正的接口访问。

3、本地执行远程服务(远程代理),这个时候使用代理进行远程服务的复杂处理。并且可以缓存请求结果。

4、记录日志,当需要在接口和客户端之前进行日志记录的时候可以使用代理模式。

创建方式

1、如果有现成的服务器接口我们可以直接继承服务器接口实现代理类,如果没有现成的服务接口,我们就需要创建一个接口来实现服务对象和代理的可交换性。。

2、创建代理类,其中必须包含一个指向服务接口的引用或者成员变量。一般情况下代理完全管理服务接口的生命周期。

3、根据需求实现代理接口。

类关系结构

在这里插入图片描述

示例代码

#include <iostream>
#include "DaiLiMoShi.h"int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";Proxy proxy;proxy.setSerivePate("193.101.10.9", 2493);int post = proxy.getSerivePost();cout << "main打印获取服务post数据" << endl;cout << "Post : " << post << endl;
}
#pragma once
#include <string>
#include <iostream>
using namespace std;
class BaseProxyInterFaxe
{
public:BaseProxyInterFaxe() {}~BaseProxyInterFaxe() {}virtual int getSerivePost();virtual void setSerivePate(string ip, int post);
};class ThirdSerice : public BaseProxyInterFaxe {
public:ThirdSerice() {}~ThirdSerice() {}int getSerivePost() override;void setSerivePate(string ip, int post) override;
private:string m_ip;int m_post;
};class Proxy : public BaseProxyInterFaxe {
public:Proxy() {}~Proxy() {}int getSerivePost() override;void setSerivePate(string ip, int post) override;
private:ThirdSerice _thirdSerice;
};
#include "DaiLiMoShi.h"int BaseProxyInterFaxe::getSerivePost()
{return 0;
}void BaseProxyInterFaxe::setSerivePate(string ip, int post)
{ //基类操作
}int Proxy::getSerivePost()
{//此处可以添加数据打印、权限判断等cout << "代理打印获取服务post数据" << endl;cout << "Post : " << _thirdSerice.getSerivePost() << endl;return _thirdSerice.getSerivePost();
}void Proxy::setSerivePate(string ip, int post)
{//此处可以添加数据打印、权限判断等cout << "代理设置服务位置" << endl;cout << "IP : " << ip << endl;cout << "Post : " << post << endl;_thirdSerice.setSerivePate(ip, post);
}int ThirdSerice::getSerivePost()
{return m_post;
}void ThirdSerice::setSerivePate(string ip, int post)
{m_ip = ip;m_post = post;
}
http://www.yayakq.cn/news/129045/

相关文章:

  • 莱芜做网站wordpress 加入搜索引擎
  • 宝安网站改版wordpress mysql
  • 中国铁建统一企业门户网站襄阳住房城乡建设厅官方网站
  • 企业网站模板 优帮云h5视频直播
  • c程序设计课程网站建设论文资讯网站优化排名
  • 人力资源短期培训班百度推广优化公司
  • 南宁网站建设q479185700棒深圳标本制作
  • 电商网站怎么做微信支付湖南大型网站建设公司排名
  • 网站制作的文章快速建站网站
  • 建工行业建设标准网站网站推广策划书
  • 专题网站开发报价为什么做网站编辑
  • 网站注册域名河南制作网站电话
  • 广东网站开发怎样宣传一个网站
  • 傻瓜式网站简单界面怎么做自己的网址
  • wordpress网站从零河北建设工程信息网一体化平台
  • 珠海市住房和城乡建设部网站wap 网站 手机
  • 东莞网站搜索排名搜索引擎优化
  • 上饶市住房和城乡建设局网站成都网络建站
  • 怎样下载网站模版淄博网站建设专家
  • 岳阳网站搭建动画设计说明
  • 绿色科技网站建设网站中木马怎么办
  • 在网站做的pdf有水印如何删除网站建设与维护流程图
  • mstsc做网站怎么用ps做购物网站
  • 最新网站架构网站新闻审核怎么做
  • 与铁路建设相关的网站单位网站开发合同
  • 设计官网中文版seo人员工作内容
  • 广东河源网站建设软件搭建公司
  • 网站建设布局样式现代教育网站开发项目的研究
  • 承德网站建设价格网站懒加载怎么做
  • 愚人网站建设郑州大学第一附属医院