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

网站开发语言哪几种网站搭建空间

网站开发语言哪几种,网站搭建空间,wordpress 3.5.1 下载,商城网站如何设计目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.代理模式(Proxy Pattern)。2.意图:为其他对象提供一种代理以控制对这个对象的访问。3.通过提供与对象相同的接口来控制对这个对象的访问。4.是设计模…

目录

          • 1. 说明
          • 2. 应用场景
          • 3. 结构图
          • 4. 构成
          • 5. 适用性
          • 6. 优点
          • 7. 缺点
          • 8. java示例

1. 说明
  • 1.代理模式(Proxy Pattern)。
  • 2.意图:为其他对象提供一种代理以控制对这个对象的访问。
  • 3.通过提供与对象相同的接口来控制对这个对象的访问。
  • 4.是设计模式中的一种结构型模式
  • 5.创建了一个代表其他对象的代理对象,从而可以在不修改原始对象的基础上控制访问和附加操作。
2. 应用场景
  • 1.远程代理(Remote Proxy):为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是同一台主机中的不同程序,也可以是网络上的不同主机。
  • 2.虚拟代理(Virtual Proxy):根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。
  • 3.保护代理(Protect or Access Control Proxy):控制对原始对象的访问。
  • 4.智能引用(Smart Reference Proxy):当访问一个对象时,代理可以自动地处理一些附加操作,如:访问统计、安全检查等。
3. 结构图

在这里插入图片描述

4. 构成
  • 1.代理(Proxy)角色:保存一个引用使得代理可以访问实体;提供一个与 Subiect 的接口相同的接口,使代理可以用来代替实体;控制对实体的存取,并可能负责创建和删除它;其他功能依赖于代理的类型:Remote Proxy负责对请求及其参数进行编码,并向不同地址空间中的实体发送已编码的请求;Virtual Proxy 可以缓存实体的附加信息,以便延迟对它的访问;Protection Proxy 检查调用者是否具有实现一个请求所必需的访问权限。持有一个真实对象的引用,负责代理真实对象,并在真实对象处理前或处理后进行附加操作。
  • 2.抽象主题(Subject)角色:定义 RealSubject 和 Proxy 的共用接口,这样就在任何使用 RealSubject 的地方都可以使用 Proxy。
  • 3.真实主题(Real Subject)角色:定义 Proxy 所代表的实体。
5. 适用性
  • 1.Proxy 模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候。
  • 2.远程代理(Remote Proxy):为一个对象在不同地址空间提供局部代表。
  • 3.虚代理(Virtual Proxy):根据需要创建开销很大的对象。
  • 4.保护代理(Protection Proxy):控制对原始对象的访问,用于对象应该有不同的访问权限的时候。
  • 5.智能引用(Smart Reference):取代了简单的指针,它在访问对象时执行一些附加操作。典型用途包括:对指向实际对象的引用计数,这样当该对象没有引用时,可以被自动释放;当第一次引用一个持久对象时,将它装入内存;在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。
6. 优点
  • 1.职责清晰:真实对象只关注业务逻辑,代理对象只关注非业务逻辑。
  • 2.高扩展性:可以在不修改真实对象的前提下扩展功能。
  • 3.智能化:代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象对目标对象进行封装和控制。
7. 缺点
  • 1.代理类和委托类实现相同的接口,增加了额外的编程工作量和复杂性。
  • 2.对于静态代理,如果接口增加方法,则代理类和目标类都需要进行修改,增加了代码的维护成本。
8. java示例
  • 1.卖票抽象主题角色
package com.learning.proxy;/*** 抽象主题角色*/
interface TicketSubject {void buyTicket(String userId);
}
  • 2.卖票真实主题角色
package com.learning.proxy;/*** 真实主题角色*/
class RealTicketSubject implements TicketSubject {@Override  public void buyTicket(String userId) {System.out.println("用户:" + userId + "买票中");}
}
  • 3.代理角色
package com.learning.proxy;/*** 代理模式:代理类*/
public class ProxyTicket implements TicketSubject {private RealTicketSubject realTicketSubject;public ProxyTicket(RealTicketSubject realTicketSubject) {this.realTicketSubject = realTicketSubject;}  @Override  public void buyTicket(String userId) {// 前置条件检查,例如验证用户权限  if (!isUserAuthorized(userId)) {  System.out.println("用户"+userId+"无购票权限");return;  }  // 记录日志  System.out.println("用户" + userId + "准备买票");// 调用真实票务服务购票realTicketSubject.buyTicket(userId);// 记录日志System.out.println("用户" + userId + "买票成功");// 购票后的处理,如发送通知等  sendPurchaseNotification(userId);}  private boolean isUserAuthorized(String userId) {  return userId.startsWith("VIP");}  private void sendPurchaseNotification(String userId) {System.out.println("用户" + userId+"已购票成功");}
}
  • 4.客户端
package com.learning.proxy;public class Client {public static void main(String[] args) {  RealTicketSubject realTicketSubject = new RealTicketSubject();ProxyTicket proxyTicket = new ProxyTicket(realTicketSubject);// 模拟用户购票  proxyTicket.buyTicket("VIP123");proxyTicket.buyTicket("NORMAL456");}  
}
  • 7.示例截图

在这里插入图片描述

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

相关文章:

  • 邯郸有建网站的吗英国零售电商网站开发
  • 重庆网站开发培训东莞h5网站开发
  • 做网站数据存在哪里给wordpress添加背景音乐
  • 京东的网站建设什么是核心关键词
  • 网站建设标准一汕头保洁公司
  • 游戏门户网站开发资源无锡网络推广平台
  • 网站开发硬件要求58同城最新消息招聘
  • 流量与网站展示型网站建设流程
  • 阿里云虚拟主机多网站提供网站建设服务
  • 如何建设微信商城网站图片设计制作哪个软件好手机
  • 上海市建设安全协会网站打不开wordpress设计网站
  • 爱站seo工具惠州手机模板建站
  • 网站子站建设合同样本电子简历表格手机版
  • 宁波专业网站推广平台便宜装饰设计是什么
  • 医院网站建设投标要求wordpress 1 s
  • 青海城乡住房建设厅网站做母婴网站
  • 做网站会很忙吗外贸公司用的采购储运财务软件
  • 网站建设与排名什么网站做啤酒
  • 做网站界面用的软件卖备案域名被抓
  • 外贸移动商城网站开发网站的管理跟新维护有哪些
  • 网站色差表亚洲电视全球运营中心
  • 使用模板建站wordpress 文章输出
  • 企业网站建站流程app制作公司排行榜
  • 菜鸟移动端网站开发福田服务商app软件安装
  • soho需要建网站吗wordpress搜索主题
  • 招工网站服务做网站的客户多吗
  • 网站定制制作公司惠州网站建设怎么样
  • 网站空间商是什么哪里网页建设便宜
  • 国内自适应网站案例网站开发会遇到的问题
  • 网站建设尾款结算申请seo排名培训学校