设计模式-08-代理模式 -静态代理

说到代理模式 就得说一说咱LOL里的代练了!

一般我们打排位从铂金到钻石一般会干几件事

1.队友

打字,操作,打字,打字,打字..........
复制代码

2.我自己

从铂晶到钻石!!!(假如遇到很多情况我还要去分心做,
                还要帮打野看着野区
                还要学会支援
                教队友打游戏
                最主要的是玩的不开心还要和队友互动
                             
)
复制代码

我的工作要根据每一局遇到的情况的不同而去改变!及麻烦,也会对代码做很多修改!!! **等我们学到设计模式的时候,哎,办法来了,我们找代练!!!

事情就变得快乐了起来!**

-------------在不改变源代码的基础上--可以扩展很多的功能--------很重要-----------

1.队友

打字,操作,打字,打字,打字..........还获得了躺赢的机会
复制代码

2.代练

专心操作,对线,获得线上优势;------------附带(扩展)
还要帮打野看着野区;---------------------附带(扩展)
还要学会支援;--------------------------附带(扩展)
教队友打游戏----------------------------附带(扩展)
好好打游戏,从铂晶狗到钻石!!!

最主要的是玩的不开心还要和队友互动,------附带
           钱真难挣!!!!!
复制代码

2.我自己

从铂金狗到钻石!!!

复制代码

从任务的转变可以看得出来 中间的代练替我们做了很多事情

整个事情的任务--->就是为了打游戏!!!!!!!!!!!!!!!!

public interface dayouxi {
    public  void  play();
}
复制代码

我的任务,变得很简练

public class Wo implements dayouxi{
    @Override
    public void play() {
        System.out.println("铂金到钻石!");
    }
}
复制代码

代练的工作

public class Proxy implements dayouxi{

    private Wo wo;

    public Proxy(){}

    public Proxy(Wo wo){
        this.wo=wo;
    }

    public void play() {
        wo.play();
        duixian();
        qiangLong();


    }

    public void duixian(){
        System.out.println("跟队友互动!");
    }

    public void qiangLong(){
        System.out.println("抢大龙!");
    }
}
复制代码

具体的实现test'

public class Duiyou {
    public static void main(String[] args) {
        Wo wo=new Wo();
        Proxy proxy=new Proxy(wo);

        proxy.play();
    }
}
复制代码

代理模式的好处:

·可以使真实角色的操作更加纯粹!不用去关注一些公共的业务·公共也就就交给代理角色!实现了业务的分工!
·公共业务发生扩展的时候,方便集中管理!
复制代码

缺点: 一个真实角色就会产生一个代理角色;代码量会翻倍~开发效率会变低

好了 静态代理就是这样了!自从学了代理模式,也上了钻石了!!!

另外代理的思想 在spring的AOP中用到的很多!!

おすすめ

転載: juejin.im/post/7039694996223557668