说到代理模式 就得说一说咱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中用到的很多!!