设计模式2--代理模式
编程技术  /  houtizong 发布于 3年前   88
代理模式(proxy)白话就是一个人替另外一个人做一些事情。
代理模式所涉及的角色:
i)抽象主题角色:声明了真实主题与代理主题的共同接口。
ii)代理主题角色:包含了真实主题角色的引用,在将客户端的调用传递给真实主题角色之前或者之后调用某些
方法而不是直接把调用传递给真实主题角色。
iii)真实主题角色:定义了代理主题所代表的真实对象
例如:
Subject抽象类:abstract public class Subject{
abstract public void request();
}
RealSubject类: public class RealSubject extends Subject{
public void request(){
System.out.println("实现请求");
}
}
ProxySubject类:public class ProxySubject extends Subject{
//对真实主题的引用,用来操作真实主题
private RealSubject realSubject;
//请求前操作
public void preRequest(){
System.out.println("请求前操作");
}
//请求后操作
public void postRequest(){
System.out.println("请求后操作");
}
//实现请求方法
public void request(){
preRequest();
if(realSubject==null){realSubject = new RealSubject();}
realSubject.request();
postRequest();
}
}
客户端调用方式:Subject subject = new ProxySubject();
subject.request();
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接