静态代理
-
静态代理就是用户和代理类都实现接口的方法
-
但是代理类的代理方法中,是调用用户对象的,代理方法
-
用户对象可以通过方法传进来
-
好处就是让用户类只处理自己私有的事情
-
公共的事情交给代理类完成,后期改代码好改,比如增删改功能
-
专业的事情交给专业的人来做
接口
package com.li.changGe.designMode.staticProxy;
public interface ScriptKill {
void buy();
}
用户类实现接口方法
package com.li.changGe.designMode.staticProxy;
public class User implements ScriptKill {
private String name;
public User(String name){
this.name = name;
}
public void buy(){
System.out.println(name+"喜欢剧本杀");
}
}
代理类中介用户对象
package com.li.changGe.designMode.staticProxy;
//代理类
public class Proxy implements ScriptKill {
private ScriptKill scriptKill;
//这里最后传过来的是ScripkKill的实现对象new User
public Proxy(ScriptKill scriptKill){
this.scriptKill = scriptKill;
}
//-----------------------------------------------------
@Override
public void buy() {
scriptKill.buy();
}
}
测试
package com.li.changGe.designMode.staticProxy;
public class Test {
public static void main(String[] args) {
User user = new User("长歌");
Proxy dynamic = new Proxy(user);
dynamic.buy();
}
}