首页 > 学院 > 开发设计 > 正文

代理(Proxy)模式简介

2019-11-14 23:24:00
字体:
来源:转载
供稿:网友
代理(PRoxy)模式简介一、代理(Proxy)模式简介

代理模式是结构型模式。

代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。

代理对象要继承于抽象主题,并控制原对象的引用

二、简单例子

抽象主题类

package proxy;/* * 抽象主题 */public abstract class Subject {/* * 请求方法 */    abstract public void Request();}

真实主题类,继承抽象

package proxy;/* * 真实主题 */public class RealSubject extends Subject {    @Override    public void Request() {        System.out.println("真实主题实现请求!");    }}

代理主题

package proxy;/* * 代理主题 */public class ProxySubject extends Subject {    private RealSubject realSubject;    @Override    public void Request() {        //请求前代理主题自己的操作        preRequest();        //判断是否为空        if(realSubject==null){            //实例化            realSubject=new RealSubject();        }        //调用真实主题的响应方法        realSubject.Request();        //请求后代理主题自己的操作        postRequest();    }    private void preRequest(){        System.out.println("请求前代理主题自己的操作!");    }        private void postRequest(){        System.out.println("请求后代理主题自己的操作!");    }}

测试类

package proxy;/* * 代理主题测试类 */public class Test {    public static void main(String[] args) {        //声明抽象主题,并实例化为代理主题        Subject subject=new ProxySubject();        //调用代理主题的响应方法        subject.Request();    }}

结果:

请求前代理主题自己的操作!真实主题实现请求!请求后代理主题自己的操作!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表