代理模式(Proxy)

代理这个名词在当今社会是比较普遍存在的,这是现在非常流行的词语。法院打官司也可以使用代理人,明星名人找经纪人代理处理工作事务等等。
我们会发现代理人和被代理的都有一个共性,都是人!哈哈,说笑了,我们还是继续说代理模式吧。
代理类和目标类都实现了相同的接口类,代理类负责目标类的功能调用。
上代码,实现的是一个演员与经纪人的关系。

//演员接口类
public interface IActor
{
    void performance();
}
//演员实现类
public class Actor implements IActor
{
    @override
    public void performance()
    {
        System.out.println("某演员参演");
    }
}
//代理人类
public class ActorProxy implements IActor
{
    private IActor actor;
    public ActorProxy(IActor actor)
    {
        this.actor = actor;
    }
    @override
    public void performance()
    {
        Random rand = new Random();
        if(rand.nextBoolean())
        {
            System.out.println("安排演员演出");
            actor.performance();
        }
        else
        {
            System.out.println("演员不演出");
        }
    }
}

这样在客户端就只需要跟代理人打交道了

public class Test
{
    public static void main(String[] args)
    {
        IActor actor = new Actor();
        ActorProxy proxy = new ActorProxy(actor);
        System.out.println("有客户请演员演出");
        proxy.performance();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值