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

宝安网站设计公司2023年12月疫情又开始了吗

宝安网站设计公司,2023年12月疫情又开始了吗,开发工程师的岗位要求,紧急紧急6269691、代理模式的提出 在组件的开发过程中,有些对象由于某种原因(比如对象创建的开销很大,或者对象的一些操作需要做安全控制,或者需要进程外的访问等),会使Client使用者在操作这类对象时可能会存在问题&…

1、代理模式的提出

在组件的开发过程中,有些对象由于某种原因(比如对象创建的开销很大,或者对象的一些操作需要做安全控制,或者需要进程外的访问等),会使Client使用者在操作这类对象时可能会存在问题:(1)使用者直接访问这种对象会使系统带来很多麻烦。(2)或者使用者使不能直接访问这类对象;使用代理模式就可以解决此类问题。代理模式是在实际操作类和Client使用者之间增加一个代理类,实际操作类的一些操作,比如对象创建、接口访问、安全控制等相关操作都可以在增加的代理类里面添加相关的功能代码。这样Client实际上是通过代理类来访问和操作实际类。

2、需求描述

有一个主题类,该类具有请求功能和数据转换功能。而Client使用者不能直接访问和操作它,只能间接的通过其它类进行访问操作。

3、代理模式的代码实现

(1)代码UML图如下:

(2)代码实现如下:

#include <iostream>class AbsSubject
{
public:virtual void request()=0;virtual void dataTransfer()=0;virtual ~AbsSubject(){};
};class RealSubject:public AbsSubject
{
public:virtual void request() override{std::cout << "RealSubject request" << std::endl;};virtual void dataTransfer() override{std::cout << "RealSubject dataTransfer" << std::endl;}
};class Proxy:public AbsSubject
{
private:RealSubject* realSubject{nullptr};
public:Proxy(){realSubject = new RealSubject();};virtual void request() override{if(nullptr == realSubject){return;}std::cout << "Proxy request" << std::endl;realSubject->request();};virtual void dataTransfer()override{if(nullptr == realSubject){return;}std::cout << "Proxy dataTransfer" << std::endl;realSubject->dataTransfer();};virtual ~Proxy(){std::cout << " ~Proxy" << std::endl;if(nullptr != realSubject){delete realSubject;realSubject = nullptr;}}
};class Client
{
public:void DoWork(){//创建代理对象Proxy proxy;//通过代理对象来访问实际对象的接口proxy.request();proxy.dataTransfer();}
};int main()
{Client obj;obj.DoWork();return 0;
}

运行结果如下:

4、代理模式缺点

系统中类数量增加;由于增加代理类,访问实际类的速度会在某种程度上降低。增加系统复杂度。

5、代理模式优点

可以访问不能访问的对象;降低系统直接的耦合度,便于功能扩展。

关于代理模式的介绍也可参考:

设计模式之代理模式(C++实现)_墨1024的博客-CSDN博客

http://www.dt0577.cn/news/36222.html

相关文章:

  • 网站后台制作这么做百度地图人工客服电话
  • 营口建设工程信息网站凡科网站建站教程
  • 网站建设技术保证怎么写新网域名注册
  • 推广单页网站免费制作重庆网站快速排名提升
  • 网站排名不稳定公司网站设计方案
  • 做 网站 技术支持 抓获 互助今日热搜头条
  • 怎么做网站步骤免费的泰安seo网络公司
  • 设计网站大全国内商丘seo公司
  • 专业模板建站价格做推广的公司
  • seo网站建设规划关键词调词平台费用
  • 莉莉卡是哪个网站做的营销软件培训
  • 合肥浦发建设集团网站优化网站seo
  • 公安网站服务平台有做网站的吗
  • 郑州做网站设计的公司公众号软文推广多少钱一篇
  • 有自己网站做淘宝客赚钱各大网站推广平台
  • 优质的小企业网站建设游戏代理加盟平台
  • 网站建设总结心得网络推广是干嘛的
  • 湘潭做网站 就问磐石网络湘潭网站设计
  • 建筑工程资料网站上海网站制作公司
  • 化妆品商城网站建设策划方案百度推广渠道商
  • 吉林省城乡建设委员会网站搜索引擎营销的内容和层次有哪些
  • 常州北京网站建设体彩足球竞彩比赛结果韩国比分
  • nike网站建设方案地推拉新app推广接单平台免费
  • 58同城烟台网站建设手机优化大师官方版
  • 成都网站排名优化宁波关键词排名优化
  • 网站建设的目的及意义百度手机助手app免费下载
  • wordpress 评论框美化百度seo软件首选帝搜软件
  • 网站建设 东八区许昌seo推广
  • 企业在线咨询服务系统深圳的seo网站排名优化
  • 济南做网站的机构有哪些seo顾问多少钱