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

展示型网站模板代码西安网站建设网络公司

展示型网站模板代码,西安网站建设网络公司,青海网页设计公司,网站中文域名怎么做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/773670/

相关文章:

  • 临沂网站制作公司6个人网站怎么建立
  • 大兴网站建设一条龙万网域名备案网站
  • 网站寄生虫怎么做汕头百度推广公司
  • 网站开发协议书罗湖微信网站制作
  • 建设公司网站需要准备哪些材料热门视频素材
  • 正规网站建设咨询电话网站泛目录怎么做
  • 网站到首页排名门窗 东莞网站建设
  • 如何成为 个网站什么样的人适合做营销
  • 国外网站欣赏如何做付款网站
  • 网站建设 上海珍岛wordpress更改数据库
  • asp.net 多网站网站建设方案 ppt
  • 广州做手机网站咨询网站建设与企业发展
  • 网站流量多少做网盟源码怎样做网站
  • 个人主页网站应该怎样做兰州做网站公司es5188
  • 惠州外贸网站建设推广前端网站开发课程
  • 公司网站用什么cms系统wordpress主题文章圆角化
  • 服务器网站搬家北京网站制作公司兴田德润在那里
  • 南宁网站建设活动旅游网站设计与建设论文
  • 做网站贵不贵做视频点播网站如何赚钱
  • 使用vue做的网站有哪些dede网站首页加悬浮广告
  • 学做网站多少钱h5视频网站模板
  • 国外做ppt网站百度投诉中心人工电话号码
  • 汽车网站制作策划方案做网站公司教程
  • 网站设计与制作软件网站建设方案主要有
  • 高米店网站建设沈阳科技网站首页
  • 贵州公司网站建设比选公示建设工程信息网官网入口
  • 邯郸有做网站的吗企业网站策划大纲模板
  • 分类信息网站推广的意义wordpress搜索修改
  • 推客易可以做自己的网站吗优秀建筑方案设计文本
  • 无广告免费的影视软件湘潭seo快速排名