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

自助建站系统 破解手表哪个网站做的好

自助建站系统 破解,手表哪个网站做的好,wordpress 时区问题,有什么网站做头像1.什么是代理模式? 代理模式Proxy Pattern是一种结构型设计模式,用于控制对其他对象的访问。 在代理模式中,允许一个对象(代理)充当另一个对象(真实对象)的接口,以控制对这个对象的…

1.什么是代理模式?

代理模式Proxy Pattern是一种结构型设计模式,用于控制对其他对象的访问。

在代理模式中,允许一个对象(代理)充当另一个对象(真实对象)的接口,以控制对这个对象的访问通常用于在访问某个对象时引入一些间接层(中介的作用),这样可以在访问对象时添加额外的控制逻辑,比如限制访问权限,延迟加载。

比如说有一个文件加载的场景,为了避免直接访问“文件”对象,我们可以新增一个代理对象,代理对象中有一个对“文件对象”的引用,在代理对象的 load 方法中,可以在访问真实的文件对象之前进行一些操作,比如权限检查,然后调用真实文件对象的 load 方法,最后在访问真实对象后进行其他操作,比如记录访问日志。

2.代理模式的组成

  • Subject(抽象主题): 抽象类,通过接口或抽象类声明真实主题和代理对象实现的业务方法。

  • RealSubject(真实主题):定义了Proxy所代表的真实对象,是客户端最终要访问的对象。

  • Proxy(代理):包含一个引用,该引用可以是RealSubject的实例,控制对RealSubject的访问,并可能负责创建和删除RealSubject的实例。

3.代理模式的使用场景 

代理模式可以控制客户端对真实对象的访问,从而限制某些客户端的访问权限,此外代理模式还常用在访问真实对象之前或之后执行一些额外的操作(比如记录日志),对功能进行扩展。

以上特性决定了代理模式在以下几个场景中有着广泛的应用:

  • 虚拟代理:当一个对象的创建和初始化比较昂贵时,可以使用虚拟代理,虚拟代理可以延迟对象的实际创建和初始化,只有在需要时才真正创建并初始化对象。
  • 安全代理:安全代理可以根据访问者的权限决定是否允许访问真实对象的方法。

但是代理模式涉及到多个对象之间的交互,引入代理模式会增加系统的复杂性,在需要频繁访问真实对象时,还可能会有一些性能问题。

4.代理模式和适配器模式有什么区别

代理模式的主要目的是控制对对象的访问。通常用于在访问真实对象时引入一些额外的控制逻辑,如权限控制、延迟加载等。

适配器模式的主要目的是使接口不兼容的对象能够协同工作。适配器模式允许将一个类的接口转换成另一个类的接口,使得不同接口的类可以协同工作

5.C++实现代理模式

【设计模式专题之代理模式】7-小明买房子 (kamacoder.com)icon-default.png?t=N7T8https://kamacoder.com/problempage.php?pid=1088

 题目描述

小明想要购买一套房子,他决定寻求一家房屋中介来帮助他找到一个面积超过100平方米的房子,只有符合条件的房子才会被传递给小明查看。

输入描述

第一行是一个整数 N(1 ≤ N ≤ 100),表示可供查看的房子的数量。

接下来的 N 行,每行包含一个整数,表示对应房子的房屋面积。

输出描述

对于每个房子,输出一行,表示是否符合购房条件。如果房屋面积超过100平方米,输出 "YES";否则输出 "NO"。

输入示例

3
120
80
110

输出示例

YES
NO
YES

思路分析:

根据代理模式的组成,我们要有一个抽象主题(抽象类),抽象类声明真实主题和代理对象实现的业务方法。这里的业务方法就是买房子。再次基础上,我们需要有一个对应的真实主题(具体的类,继承于刚才的抽象主题),是能够创建出客户端最终要访问的对象。最后,要有一个代理者类来控制真实主题。对于接口函数的参数,由于题目要判断房子的面积,所以要有一个参数area。

代码实现:

#include<iostream>
using namespace std;//1、定义抽象主题 买房子
class PurchaseHouse{
public://定义一个房屋筛选的纯虚函数,使得抽象主题这个类为抽象类virtual void HouseFilter(int area) = 0;
};//2、定义真实主题,继承上面的抽象主题
class Purchase : public PurchaseHouse{
public:virtual void HouseFilter(int area){cout<<"YES"<<endl;}
};//3、定义代理者类,里面要包含真是主题的实例
class Proxy{
private: //定义真实主题实例Purchase purchase;
public://定义给客户端提供的查询借口void SearchHouse(int area){//调用真实主题的对象的方法来对面积做比较if(area > 100){purchase.HouseFilter(area);}else {cout<<"NO"<<endl;}}
};int main()
{//客户端程序//定义代理商实例Proxy MyProxy;//输入信息int N, area;cin>>N;for(int i=0; i<N; i++){cin>>area;//输入房屋面积后就可以通过代理商进行房屋查询了MyProxy.SearchHouse(area);}return 0;
}

关于load的写法,可以参考这篇博文。设计模式之代理模式(C++)_c++ 代理模式-CSDN博客icon-default.png?t=N7T8https://zhaitianbao.blog.csdn.net/article/details/129949951

http://www.yayakq.cn/news/214309/

相关文章:

  • 网站建设客户资源保定seo公司
  • 虚拟技术对网站建设维护的影响林管局网站建设方案
  • 购物网站制作实例西安网站制作工程师
  • 电商网站优化方案wordpress中文分词
  • 数据分析师需要考哪些证书佛山网站seo公司
  • 比较漂亮的营销型网站小程序开发制作流程
  • 生产营销网站开发联系方式怎样做pdf电子书下载网站
  • vps 网站备案官网平台交易
  • 谎称在网站网站做维护南昌seo推广方式
  • 网站建设代理合同自己给自己网站做推广
  • 吉林省电力建设总公司网站wordpress textarea
  • 网站建设刂搜金手指下拉二四网络推广工作能长久吗
  • linux建设门户网站seo网站推广的主要目的包括
  • 嘉兴企业网站建设推广阎良网站建设
  • 网站设计的公司选哪家宝洁公司网站做的怎么样
  • 网站建设属什么合同安阳公司做网站
  • 济南公司注册网站建设找人做淘宝网站需要多少钱
  • 珠海网站搜索引擎优化做网站怎么找客户
  • 网站做404页面怎么做知末网官网
  • 书籍网站设计如何建单位内部购物网站
  • 福州p2p网站建设公司html5网站开发
  • 系部网站开发项目的目的如何承接设计网站建设
  • 中国十佳企业网站设计公司广东东莞邮编
  • 外贸网站建设需要注意什么品牌网站建设意义
  • 北京移动网站建设公司网站建设与运营 教材 崔
  • 金溪网站建设推广河北省建设工程管理信息网官网
  • 电商 网站 建设本地的丹阳网站建设
  • 自己免费建站平台推荐wordpress是哪个国家的
  • 枣庄企业网站推广广告设计公司英文介绍
  • 设置网站软件工程师证