無廢話設計模式(11)結構型模式--代理模式

大叔楊發表於2020-08-03

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、當需要在訪問物件時執行一些附加操作時;

相關文章