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

树在线网页制作网站百度网站怎么申请注册

树在线网页制作网站,百度网站怎么申请注册,有没有好玩的网页游戏,成都市建委主任代理模式:中间者的故事 介绍需求分析代理模式代码实现代理模式整理和用途第一种用途第二种用途第三种用途第四种用途 总结 介绍 本文引用《大话设计模式》第七章节的内容进行学习分析,仅供学习使用 需求:小明拜托自己好朋友小王给他朋友小美…

代理模式:中间者的故事

  • 介绍
  • 需求分析
  • 代理模式
  • 代码实现
  • 代理模式整理和用途
    • 第一种用途
    • 第二种用途
    • 第三种用途
    • 第四种用途
  • 总结

介绍

本文引用《大话设计模式》第七章节的内容进行学习分析,仅供学习使用

需求:小明拜托自己好朋友小王给他朋友小美送礼物。

需求分析

首先我们要知道这里我上文的需求小明和小美是互相不认识的,这里的小王却是两人的好朋友,所以这里就产生了小王这个中间人帮助小明给小美送花,那么我们在程序设计的时候其实小明和小美是不能直接建立关联的。

既然我分析中已经出来中间者了估计有很多人想到的设计模式是观察者设计模式和代理模式,因为我上面阐述的对于非代理来说只是一对一的关系,但是观察者设计模式不仅有一对一而且更是一对多,所以这里我们用代理模式介绍一下。

代理模式

先把UML图放在这里
在这里插入图片描述

这一篇代理模式来讲还是比较好理解的。实际上我们就可以把RealSubject这个类当作小明,我们把Proxy这个代理就当作小王,然而这个Subject就是一个抽象类去帮助小明和小王去实现共同方法送礼物,图中是没有小美的但是我们可以在Proxy这个代理中去创建一个小美的类,这样就完成了我上述说的通过小王,小明把礼物送给了小美,这就是一个代理模式。

代码实现

抽象类

using System;namespace Proxy{public abstract class SubjectNew{public abstract void SendObj(Present present);}}

小明实体类

using System;namespace Proxy{public class XiaoMing : SubjectNew{public override void SendObj(Present present){Console.WriteLine("送" + present.ToString());}}}

代理类

using System;namespace Proxy{public class ProxyNew : SubjectNew{XiaoMing m_xiaoming;public override void SendObj(Present present){if (m_xiaoming == null){m_xiaoming = new XiaoMing();}m_xiaoming.SendObj(present);}}}

礼物枚举类

using System;namespace Proxy{public enum Present{Flower,Milk,ToyBaby}}

最后看一下调用方式:

ProxyNew proxyNew = new ProxyNew();
proxyNew.SendObj(Present.Flower);
proxyNew.SendObj(Present.Milk);
proxyNew.SendObj(Present.ToyBaby);

这个就是上述的实现方式

代理模式整理和用途

这里我把上述代理模式的UML图源码放在下面

Subject抽象类

using System;namespace Proxy{public abstract class Subject{public abstract void Request();}}

RealSubject实体类

using System;namespace Proxy{public class RealSubject : Subject{public override void Request(){Console.WriteLine("这里是真实的请求");}}}

Proxy代理类

using System;namespace Proxy{public class Proxy : Subject{RealSubject realSubject;public override void Request(){if (realSubject == null) realSubject = new RealSubject();realSubject.Request();}}}

第一种用途

远程代理,也就是为一个对象在不同地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。也就是说当我们应用程序中引入一个Web引用,此时引用WebService是会生成一个WebReference的文件夹和一些文件,其实他就是代理,这就是的客户端要想远程连接的时候直接调用代理WebReference即可。

第二种用途

虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。比如说我们打开一个很大的HTML网页,为什么很快就能加载,仔细看一下实际上文字并不大主要是图片比较大,然而人家也不傻这里如果把大图放在主网页上岂不是需要加载很长时间,这时候就没一张缩略图其实就是一个代理,他存放了原始图片的大小和地址,当你点击的时候去实例化真实的对象。

第三种用途

安全代理,用来控制真实对象访问时的权限。

第四种用途

智能指引,是指在调用真实对象时,代理处理另外一些事,指责分开。

总结

个人认为代理模式还是在编程中比较常用的模式,希望本文章能够对读者有帮助。每天进步一点点。

http://www.shuangfujiaoyu.com/news/21322.html

相关文章:

  • 商业网站需要的昆明优化网站公司
  • 上海自助建站官网网络推广平台代理
  • 充值话费网站建设google推广及广告优缺点
  • 做网站推广公司在百度上做广告推广要多少钱
  • 金融企业网站模板完整的网页设计代码
  • 企业网站建设西安淄博seo网站推广
  • wordpress千万数据优化抖音优化排名
  • 江苏省建设信息网站seo课程培训视频
  • 无锡网站建设工作kol合作推广
  • 做视频点播网站如何赚钱西安百度关键词包年
  • 甘肃商城网站建设佛山seo关键词排名
  • 国内做任务得数字货币的网站东莞seo优化方案
  • 如何在网站做电子杂志营销网站建设多少钱
  • 怎样找别人制作网站东莞建设企业网站公司
  • 西安网站开开发chatgpt入口
  • 如何用php做网站网站流量统计平台
  • 做网站买计划书云seo
  • 工信部网站备案查询系统seo 最新
  • 简约风格网站华为云速建站
  • 网站开发趋势福建seo快速排名优化
  • 免费建站网站教程视频号视频下载助手app
  • 建设一个Web网站seo网站排名优化价格
  • 网站建设消费调查问卷百度账号快速注册入口
  • 怎么样做网站视频管理方面的培训课程
  • 那里有学做网站的做电商一个月能挣多少钱
  • 怎么做淘宝网站推广河南百度seo
  • 可不可以用p2p做视频网站北京百度网讯人工客服电话
  • 提供做网站费用短期培训就业学校
  • 织梦如何将wordpressseo有哪些经典的案例
  • 如何在别人的网站模板上加兼容郑州外语网站建站优化