美文网首页
代理模式

代理模式

作者: 请叫我平爷 | 来源:发表于2022-03-31 10:11 被阅读0次

以追女孩为例,需要人帮忙送礼物

实现

女孩

public class Girl {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Girl(String name){
        this.name = name;
    }

}

接口

public interface IGiveGift {

    void sendFlower();
    void sendSnack();
    void sendChocolate();

}

男孩

public class Boy implements IGiveGift {

    private Girl girl;

    public Boy(Girl girl){
        this.girl = girl;
    }

    @Override
    public void sendFlower(){
        System.out.println("给 "+this.girl.getName()+" 送花");
    }

    @Override
    public void sendSnack(){
        System.out.println("给 "+this.girl.getName()+" 送零食");
    }

    @Override
    public void sendChocolate(){
        System.out.println("给 "+this.girl.getName()+" 送巧克力");
    }
}

代理同学

public class Proxy implements IGiveGift {

    private Boy boy;

    public Proxy(Girl girl){
        this.boy = new Boy(girl);
    }
    
    @Override
    public void sendFlower() {
        System.out.println("代理同学,帮忙送花");
        this.boy.sendFlower();
        System.out.println("花送完了");
    }

    @Override
    public void sendSnack() {
        System.out.println("代理同学,帮忙送零食");
        this.boy.sendSnack();
        System.out.println("送完零食");
    }

    @Override
    public void sendChocolate() {
        System.out.println("代理同学,帮忙送巧克力");
        this.boy.sendChocolate();
        System.out.println("送完巧克力");
    }
}

使用

public static void main(String[] args) {
        Girl girl = new Girl("小丽");
        Proxy proxy = new Proxy(girl);
        proxy.sendChocolate();
    }

打印

代理同学,帮忙送巧克力
给 小丽 送巧克力
送完巧克力

相关文章

  • 设计模式

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

  • 设计模式

    单例模式 代理模式 静态代理 jdk动态代理 cglib动态代理 工厂模式 适配器模式 建造者模式 观察者模式

  • kube-proxy的3种模式

    userspace代理模式 iptables代理模式 IPVS代理模式 https://kubernetes.io...

  • 第4章 结构型模式-代理模式

    一、代理模式简介 二、代理模式3个角色 三、代理模式的优点 四、代理模式的实例(游戏代练)

  • 理解代理模式

    原创博客地址 简介 代理模式,也叫做委托模式,分为:静态代理动态代理 代理模式也是平时比较常用的设计模式之一,代理...

  • 结构型 代理模式(文末有项目连接)

    1:什么是代理模式 2:没用代理模式时的实例 3:使用代理模式将其解耦(静态代理) 3:使用代理模式将其解耦(动态...

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

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

  • 代理模式

    一、什么是代理模式 代理模式(Proxy pattern):代理模式又叫委托模式,是为某个对象提供一个代理对象,并...

  • 设计模式之代理模式(Proxy模式)

    代理模式的引入 代理模式的实例程序 代理模式的分析 代理模式的引入 Proxy是代理人的意思,指的是代替别人进行工...

  • Java设计模式之代理模式

    Java设计模式之代理模式 代理模式 静态代理 动态代理 为什么需要代理 通过代理,我们能够不用知道委托人是谁,而...

网友评论

      本文标题:代理模式

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