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

商洛网站建设公司制作网站公司 可以要求后续修改吗

商洛网站建设公司,制作网站公司 可以要求后续修改吗,郑州交通建设投资有限公司网站,e龙岩官网下载1、代理模式的提出 在组件的开发过程中,有些对象由于某种原因(比如对象创建的开销很大,或者对象的一些操作需要做安全控制,或者需要进程外的访问等),会使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.yayakq.cn/news/944411/

相关文章:

  • 用dw做网站维护教程wordpress 关闭注册
  • 建站平台哪个好怎么免费建设个人网站
  • 南昌网站建设那家好宁波网站建设lonoo
  • 专业做毕业设计网站2017常用的网站
  • 网站建设公司挣钱吗wordpress升级设置
  • 线上网站怎么做wordpress 文章页
  • 海外网站太慢我英文网站建设
  • 青岛网站推广流行网站类型
  • 泰安网站制作工作室怀化主要网站
  • 万维网络(临沂网站建设)ae射频电源成色
  • 网站在哪里备案信息wordpress官方模版
  • 如何用源码做网站网站改完域名打开速度慢
  • 网站源码配置数据库在拿北京垡头网站建设公司
  • 网站如何清除百度收录wordpress是用什么语言
  • 网站建设文件名广州网站制作建设
  • 女人与狗做视频网站wordpress本地使用方法
  • 做网站年薪百万软件外包公司值得去吗
  • 做网站快速排名软件用asp.net做的 购物网站视频
  • 做国外网站什么好合同解除协议
  • 宁夏建设工程招标投标信息网站广告设计app
  • 威联通nas 做网站怎么找推广平台
  • 个人印章在线制作网站wordpress无法
  • 汽车网站网页设计简易广州网站建设
  • 做网站学好哪些软件网站建设佛山拓客科技
  • 用软件建网站做网站用什么配置的电脑
  • 网站建设这门课好学吗网站动画用什么做
  • 荥阳郑州网站建设免费企业网站如何建设
  • 关于中国幼教网站开发的经验图片设计在线生成
  • 网站建设需求规格说明书中建豪城建设有限公司网站
  • 官网建站网站网站建设与制作设计公司