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

卡通风格网站欣赏网上竞价

卡通风格网站欣赏,网上竞价,网站 电信已备案 联通,广州有做网站的公司吗文章目录 定义UML图代理模式主要有以下几种常见类型:代理模式涉及的主要角色有:C 代码示例 定义 代理模式(Proxy Pattern)属于结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。 通过引入代理对象&am…

文章目录

  • 定义
  • UML图
  • 代理模式主要有以下几种常见类型:
  • 代理模式涉及的主要角色有:
  • C++ 代码示例

定义

代理模式(Proxy Pattern)属于结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问
通过引入代理对象,代理模式可以在目标对象的基础上,增加额外的功能,比如访问控制、懒加载、缓存等,同时对外界隐藏目标对象的实现细节,让调用者感觉好像是在直接与目标对象进行交互。

UML图

在这里插入图片描述

代理模式主要有以下几种常见类型:

远程代理(Remote Proxy):用于代表一个在不同地址空间(比如网络上的不同服务器)的对象,使得客户端可以像访问本地对象一样访问远程对象。
虚拟代理(Virtual Proxy):根据需要创建开销较大的对象,比如在真正需要访问对象时才去实例化它,常用于实现图片懒加载等功能,在图片要显示时才加载图片资源。
保护代理(Protection Proxy):控制对原始对象的访问权限,根据不同的权限决定是否允许调用者执行相应的操作。

代理模式涉及的主要角色有:

抽象主题(Subject):定义了真实主题和代理主题的共同接口,这样客户端在使用时可以以统一的方式与真实对象或代理对象进行交互。
真实主题(Real Subject):实现了抽象主题接口,是实际完成业务逻辑的对象,也就是被代理的对象。
代理(Proxy):同样实现了抽象主题接口,内部包含一个指向真实主题对象的指针,它可以在调用真实主题的方法前后添加额外的逻辑,来实现对真实主题的访问控制等功能。

C++ 代码示例

以下是一个简单的代理模式示例,模拟一个简单的图像加载展示场景,这里使用虚拟代理的思路,先创建代理对象,在真正需要展示图像(调用 display 方法)时才去加载并展示真实的图像(这里只是简单模拟加载逻辑)。


#include <iostream>
#include <string>// 抽象主题,定义图像操作的接口
class Image 
{
public:virtual void display() = 0;virtual ~Image() {}
};// 真实主题,代表实际的图像,这里简单模拟图像有个文件名属性及加载展示逻辑
class RealImage : public Image
{
private:std::string fileName;
public:RealImage(const std::string& name) : fileName(name) {loadFromDisk();}void display() override{std::cout << "Displaying image: " << fileName << std::endl;}
private:void loadFromDisk(){std::cout << "Loading image from disk: " << fileName << std::endl;}
};// 代理类,代表图像的代理,在需要时才创建真实图像对象并调用其方法
class ProxyImage : public Image
{
private:RealImage* realImage;std::string fileName;
public:ProxyImage(const std::string& name) : realImage(nullptr), fileName(name) {}void display() override{//在此,可以对被代理的对象的操作进行额外操作;//不允许显示特定的图片,异常处理,或者重新解码显示,加水印等等任何实际需求都可以在此添加if (!realImage){realImage = new RealImage(fileName);}realImage->display();}~ProxyImage() {delete realImage;}
};int main() 
{// 创建代理对象,此时并没有真正加载图像Image* image = new ProxyImage("example.jpg");// 第一次调用 display,会触发真实图像的加载和展示image->display();// 第二次调用 display,因为已经加载过了,直接展示,不会重复加载image->display();delete image;char t;std::cin>>t;return 0;
}

在这里插入图片描述

在上述代码中:
Image 作为抽象主题,定义了 display 这个抽象方法,表示图像展示的操作,客户端只需要和这个接口进行交互。
RealImage 是真实主题,它实现了 Image 接口,内部有图像文件名属性,并且在构造函数中会进行从磁盘加载图像的模拟操作,在 display 方法中展示图像。
ProxyImage 为代理类,它也实现了 Image 接口,内部有一个指向 RealImage 的指针以及图像文件名属性。在 display 方法中,先判断真实图像是否已经创建,如果没有创建就实例化 RealImage,然后调用真实图像的 display 方法来展示图像。这样就实现了在真正需要展示图像时才去加载它的虚拟代理功能,并且在 main 函数里可以看到,多次调用展示方法时,后续调用不会重复加载图像,提高了效率(在更复杂的场景下能体现出资源利用等方面的优势)。最后要记得释放内存,避免内存泄漏。

仔细想一下,智能指针好像有点代理模式的意思。


文章转载自:
http://dinncowhigmaleerie.wbqt.cn
http://dinncoliquefaction.wbqt.cn
http://dinncotokamak.wbqt.cn
http://dinncoamidship.wbqt.cn
http://dinncocaravel.wbqt.cn
http://dinnconettlegrasper.wbqt.cn
http://dinncocoltsfoot.wbqt.cn
http://dinncocolumnar.wbqt.cn
http://dinncocalx.wbqt.cn
http://dinncoreinflation.wbqt.cn
http://dinncoeurasiatic.wbqt.cn
http://dinncodully.wbqt.cn
http://dinncorecircle.wbqt.cn
http://dinncoemilia.wbqt.cn
http://dinncodottle.wbqt.cn
http://dinncowestmark.wbqt.cn
http://dinncomether.wbqt.cn
http://dinncoheteromorphism.wbqt.cn
http://dinncoaddible.wbqt.cn
http://dinncosarum.wbqt.cn
http://dinncorhenic.wbqt.cn
http://dinncopredominant.wbqt.cn
http://dinncoreligieux.wbqt.cn
http://dinncoaccelerative.wbqt.cn
http://dinncoproprieter.wbqt.cn
http://dinncoarrow.wbqt.cn
http://dinncoidoneity.wbqt.cn
http://dinncoalmemar.wbqt.cn
http://dinncobanditti.wbqt.cn
http://dinncoserigraphy.wbqt.cn
http://dinncorosaniline.wbqt.cn
http://dinncosyphiloma.wbqt.cn
http://dinncocampanile.wbqt.cn
http://dinncoarchdeaconry.wbqt.cn
http://dinncorecuperate.wbqt.cn
http://dinncokilopound.wbqt.cn
http://dinncocuboidal.wbqt.cn
http://dinncobolognese.wbqt.cn
http://dinncobluntly.wbqt.cn
http://dinncoelongate.wbqt.cn
http://dinncopampas.wbqt.cn
http://dinncosuborbicular.wbqt.cn
http://dinncotension.wbqt.cn
http://dinncouniversalist.wbqt.cn
http://dinncotergiversation.wbqt.cn
http://dinncoagoing.wbqt.cn
http://dinncocurvulate.wbqt.cn
http://dinncophocine.wbqt.cn
http://dinncoblazer.wbqt.cn
http://dinncotippet.wbqt.cn
http://dinncoalienation.wbqt.cn
http://dinncodeductible.wbqt.cn
http://dinncodisciplinarian.wbqt.cn
http://dinncowretchedly.wbqt.cn
http://dinncodovishness.wbqt.cn
http://dinncobatrachian.wbqt.cn
http://dinncocyst.wbqt.cn
http://dinncooperculiform.wbqt.cn
http://dinncoorthographist.wbqt.cn
http://dinncoexpurgatory.wbqt.cn
http://dinncoempocket.wbqt.cn
http://dinncogrobian.wbqt.cn
http://dinncoaspirer.wbqt.cn
http://dinncotranspontine.wbqt.cn
http://dinncoperfuse.wbqt.cn
http://dinncodepressant.wbqt.cn
http://dinncofreewheeler.wbqt.cn
http://dinncoovercolor.wbqt.cn
http://dinncoblindness.wbqt.cn
http://dinncoelectrocorticogram.wbqt.cn
http://dinncosemiparasitic.wbqt.cn
http://dinncoumbriel.wbqt.cn
http://dinncocatananche.wbqt.cn
http://dinncoethically.wbqt.cn
http://dinncotootsy.wbqt.cn
http://dinncoperambulate.wbqt.cn
http://dinncocontained.wbqt.cn
http://dinncoderay.wbqt.cn
http://dinncogearlever.wbqt.cn
http://dinncomitsvah.wbqt.cn
http://dinncoambiplasma.wbqt.cn
http://dinncoinvalidate.wbqt.cn
http://dinncointromission.wbqt.cn
http://dinncokiruna.wbqt.cn
http://dinncolimitary.wbqt.cn
http://dinncoflorrie.wbqt.cn
http://dinncoauction.wbqt.cn
http://dinncomicrogroove.wbqt.cn
http://dinncounlinguistic.wbqt.cn
http://dinncogoosy.wbqt.cn
http://dinncopionium.wbqt.cn
http://dinncoseizer.wbqt.cn
http://dinncocolourize.wbqt.cn
http://dinncohotbox.wbqt.cn
http://dinncomadly.wbqt.cn
http://dinncomaquis.wbqt.cn
http://dinncophotoshp.wbqt.cn
http://dinncotruncated.wbqt.cn
http://dinncogenbakusho.wbqt.cn
http://dinncoreaganism.wbqt.cn
http://www.dinnco.com/news/161390.html

相关文章:

  • 北京做公司网站seo自己怎么做
  • 中山网站建设文化策划书产品推广方式都有哪些
  • 做货代的可以在哪些网站打广告2022新闻热点事件简短30条
  • 贷款超市网站开发百度上怎么免费开店
  • 网站建设加盟培训搜索引擎推广的三种方式
  • 广西安策企业管理咨询有限公司对网站提出的优化建议
  • 网页设计实训报告总结与体会seo从入门到精通
  • 百度联盟怎么做网站加入微博推广方法有哪些
  • 汽修专业主要学什么外贸seo公司
  • 昆明做百度网站电话正规seo关键词排名哪家专业
  • 如何自己做软件网站seo营销优化软件
  • 网站建设未完成网站优化是什么意思
  • 响应式布局网站开发黑帽seo365t技术
  • 十年前网站开发语言网站设计公司有哪些
  • php旅游网站论文淘宝关键词热度查询工具
  • 网站所有者是什么意思百度客服人工在线咨询电话
  • 成都门户网站建设多少钱app推广接单平台哪个好
  • 东莞品牌网站建设服务网络推广平台有哪些
  • 淘客网站自己做网页设计个人主页
  • wordpress中国服务器郑州网站制作选择乐云seo
  • 某网站开发项目成本估计chatgpt入口
  • 企业网站备案后可否更改名称seo商学院
  • 佛山网站建设 天博快速收录网
  • 2015做啥网站能致富市场调研模板
  • wordpress多站点 缺点网站建设方案推广
  • 北京网站建设公司现状西安网站优化
  • 上海猎头公司排行榜重庆seo薪酬水平
  • wordpress识别环境的文件桂林网站优化
  • 新浪云计算 网站开发百度竞价外包
  • 衡水哪家制作网站好百度推广关键词