什么是Java的静态代理模式?

一、什么是静态代理模式
代理的概念:生活中的代理是很常见的,比如代购、律师、中介等,他们都有一个共性就是帮助被代理人处理一些前前后后的事情。而被代理人只需要专注做自己要做的那部分事情就可以了。
Java中的代理也是类似的,代理模式可以实现帮助被代理者完成一些前期的准备工作和后期的善后工作,但是核心的业务逻辑仍然是由被代理者完成。
在这里插入图片描述
二、静态代理模式的构成
静态代理模式由三个部分构成:

.一个公共的接口

.一个代理角色

.一个被代理角色

三、构建一个简单的静态代理模式
3.1创建一个公共接口,然后定义一个方法:
//结婚的接口,接口中定义一个happyMarry的方法

public interface Marry{

    void happyMarry();//愉快的结婚

}

在这里插入图片描述
3.2创建一个代理角色:
//创建一个代理角色(婚庆公司),婚庆公司帮你布置婚礼现场以及婚礼后的收尾工作

class WeddingCompany implements Marry{

    private Marry target;

    public WeddingCompany(Marry target) {

        this.target = target;
    }

   @Override

   public void happyMarry() {

       ready();

       this.target.happyMarry();

       after();

   }

   private void ready(){

       System.out.println("婚礼策划");

   }

   private void after(){

       System.out.println("收尾工作");

   }

}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210426181419374.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2phdmFlRUVzZQ==,size_16,color_FFFFFF,t_70)

3.3创建一个被代理角色:
//创建类You,你就是被代理角色,快结婚了,恭喜恭喜

class You implements Marry{

    @Override

    public void happyMarry() {

        System.out.println("下个月我要去和我的爱人结婚了。。。哈哈哈");

    }
}

在这里插入图片描述
完成以上三个步骤之后,Java的静态代理模式就写好了,接下来我们就来应用测试一下。
在这里插入图片描述
**代理模式的优点:**被代理类只需要专注于自己的核心代码即可,剩下的交给代理类就可以了,使得代码更加简洁,分工明确。
**缺点:**一个真实角色就会产生一个代理角色,代码量翻倍了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喝汽水的猫^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值