无废话设计模式(11)结构型模式--代理模式

0-前言

  代理模式定义:为其他对象提供一种代理以控制对这个对象的访问。

1-实现

1-1、简单UML图:

1-2、代码实现

//1、抽象父类
abstract class Actor
{
    public abstract   void  Show();
}

//2、具体类(舞蹈演员)
class  ModernActor extends  Actor
{
    @Override
    public void Show()
    {
        System.out.println("舞者跳起来现代舞!");
    }
}

//3、代理类(演艺承包商)
class  ActorProxy extends Actor
{
    private ModernActor modernActor;

    public ActorProxy( )
    {
        this.modernActor=new ModernActor();
    }

    @Override
    public void Show()
    {
        modernActor.Show();
    }
}

客户端

        ActorProxy actorProxy = new ActorProxy();
        actorProxy.Show();

运行结果

2-应用场景简单总结

1、当需要为一个对象在不同的地址空间提供局部的代表时;

2、当需要控制对原始对象的访问时;

3、当需要在访问对象时执行一些附加操作时;

原文地址:https://www.cnblogs.com/yanghj/p/13427277.html