java设计模式之 -----代理模式

本文介绍了代理模式的基本概念,并通过具体的Java代码实现展示了代理模式的工作原理。包括定义代理的基础接口、代理执行者的实现以及代理代表的职责。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    代理模式(Proxy Pattern),按俺的理解,代理模式中分为代理代表和代理执行者。代理代表负责接收外界的调用,在其内部调用代理执行者和其它扩展方法进行处理、代表执行者是负责实际的代理操作。

    代理基础接口
package com.cupid.Pattern;

/**
 * @Author: cupid
 * Created by Cupid520 on 2018/2/20.
 * @Description: 代理模式范例
 */
public interface ProxyPattern {
    public void toProxy(String src);
}

  代理执行者

package com.cupid.Pattern;

/**
 * @Author: cupid
 * Created by Cupid520 on 2018/2/20.
 * @Description: 代理模式执行者
 */
public class PatternExecute implements ProxyPattern{
    @Override
    public void toProxy(String src) {
        System.out.println("这是代理模式执行者中的方法触发了 :" + src);
    }
}

  代理代表

package com.cupid.Pattern;

/**
 * @Author: cupid
 * Created by Cupid520 on 2018/2/20.
 * @Description: 代理代表,即代理模式表层中所暴露出来的类
 */
public class ProxyRepresent implements ProxyPattern{

    private PatternExecute execute;

    public ProxyRepresent(){
        super();
        execute = new PatternExecute();
    }

    @Override
    public void toProxy(String src) {
        before();
        execute.toProxy(src);
        after();
    }

    private void before(){
        System.err.println("before");
    }

    private void after(){
        System.out.println("after");
    }

}
 测试主类
package com.cupid.Pattern;

/**
 * @Author: cupid
 * Created by Cupid520 on 2018/2/20.
 * @Description:
 */
public class MainTest {
    public static void main(String[] args) {
        ProxyPattern represent = new ProxyRepresent();
        represent.toProxy("this is proxy pattern");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值