美文网首页
静态代理模式

静态代理模式

作者: 鉴闻俗说 | 来源:发表于2017-11-29 22:02 被阅读0次

一、代理模式概要

  • 代理模式通常包括三部分
    1、 抽象角色:声明真实对象和代理对象的共同接口(或者抽象类);
    2、 代理角色:代理角色内部含有对真实对象的引用,一边操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象,另外代理对象在对真实对象操作的的同时,还可以附加其他操作,相当于对真实对象进行了封装;
    3、 真实角色:我们最终引用的角色,即代理对象所代理的角色。

二、Demo说明

  • 各个程序文件介绍
//Subject.java  //抽象角色
//RealSubject.java //真实角色
//ProxySubject.java //代理角色
//Client.java   //客户端

1、Subject.java

public abstract class Subject
{
    public abstract void request();
}

2、RealSubject.java

public class RealSubject extends Subject
{
    @Override
    public void request()
    {
        System.out.println("From real Subject!");
        
    }
}

3、ProxySubject.java

public class ProxySubject extends Subject
{
    private RealSubject realSubject;
    
    @Override
    public void request()
    {
        this.preRequest();  //代理之前执行的动作
        
        if (realSubject == null)
        {
            realSubject = new RealSubject();
        }
        realSubject.request();
        
        this.postRequest(); //代理之后执行的动作
    }
    
    public void preRequest()
    {
        System.out.println("Pre Request!");
    }
    
    public void postRequest()
    {
        System.out.println("Post Requset!");
    }
}

4、Client.java

public class Client
{
    public static void main(String[] args)
    {
        Subject subject = new ProxySubject();
        subject.request();
    }
}

上一篇:动态调用私有域和私有方法
下一篇:动态代理模式

相关文章

  • 设计模式-动态代理模式

    之前介绍了代理模式,大家也都了解了代理模式,不过之前介绍的代理模式是静态代理,静态代理什么意思?静态代理指的是代理...

  • 带你初识Java的代理模式

    Spring AOP是基于动态代理设计模式实现的,相对的就有静态代理 动态代理和静态代理 静态代理 对于静态代理,...

  • Spring之代理模式

    九、代理模式 目录:静态代理、动态代理AOP的底层机制就是动态代理。代理模式分为静态代理和动态代理。接触aop之前...

  • 设计模式

    单例模式 模板方法模式 工厂模式 代理模式 静态代理 JDK动态代理

  • 说说Java代理模式

    在平时写代码时,经常会用到各种设计模式,其中一种就是代理模式,代理实现可以分为静态代理和动态代理。 静态代理 静态...

  • java代理模式

    代理模式分为动态代理和静态代理

  • 代理模式

    一,静态代理 针对于网上大多数静态代理写成装饰者模式(装饰着模式和静态代理的区别https://blog.csdn...

  • 设计模式-代理模式

    代理模式:为对象提供一种代理来控制对象的访问。 代理模式分为静态代理和动态代理两种 静态代理:优点:通过代理类可以...

  • 代理-静态代理

    一、静态代理实现 按照代理模式的类图: 静态代理,代理类在编译时生成;即,需要编码代理类。 从实现上来看,静态代理...

  • Android代理模式基础讲解

    一、代理模式 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。 二、静态代理 静态代理的代理类持有被...

网友评论

      本文标题:静态代理模式

      本文链接:https://www.haomeiwen.com/subject/mozpbxtx.html