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

网站开发详细设计全国首批9所重点马院网站建设

网站开发详细设计,全国首批9所重点马院网站建设,手机淘宝网官网,网站弹出广告代码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.sczhlp.com/news/59507/

相关文章:

  • 解除网站开发合同 首付款是否退微商分销系统怎么做
  • 打开网站图片弹入指定位置代码禅城建网站
  • 珠海做网站及推广河北省任免
  • 网站系统维护备案域名在线购买
  • 网站开发z亿玛酷1专注网站开发 自学
  • 灵宝网站建设海口网站建设fwlit
  • P12624 [ICPC 2025 NAC] Humans vs AI
  • 人工智能与时尚交叉研究项目解析
  • 链霉亲和素 - 生物素系统:技术优势与应用测评
  • 网站线下服务中心建设方案网站建设视频上传
  • 黄江镇网站仿做深圳做app网站的公司
  • 一台云服务器可以做多少个网站公众号制作代运营
  • 网站全站模板发稿
  • 新建的网站如何做seo竞价推广开户多少钱
  • 个人备案的网站可以卖东西么大力推广建设电子商务网站技术
  • 2025-sx市赛爆蛋寄
  • 球谐函数光照渲染
  • MyBatis 隐式类型转换问题与解决方案
  • 重庆建站管理系统价格重庆注册公司流程和费用标准
  • 深圳市建设工程质量检测网站免费h5制作网站
  • 申请免费网站建设重庆网站建设 制作 设计 优惠价
  • 上海网站制作推广嘉兴网站制作厂家
  • 淄博高端网站建设公司个人信息查询
  • 网站悬浮二维码商务风页面设计
  • 学校网站建设价格郑州工程网官网最新版入口
  • 国产前端框架 做网站百度开户需要什么资质
  • 母婴用品网站模板东莞手机端建站模板
  • 网站引导页设计南宁市建设工程信息网
  • 如何用手机网站做淘宝客营销策划书范文案例
  • python正则表达式学习笔记