package unit3;
public class Java26 {
public static void main(String[] args) {
// 设计模式:代理模式
// 需求1:前台发送的数据都是json格式的数据、要求我们把json数据都转换为java语言
// 需求2:执行方法功能之前判断一下权限、比如说只有管理员才能添加和修改
// 需求3:要求在每一个方法中添加日志功能、记录每个方法的执行过程、谁什么时间做了什么操作
// E e = new F();
// e.m1("a");
// e.m2("b");
// @RequestBody json->java功能、此功能是多个方法的共同点、代理模式实现
E e = new F();// 具体实现:添加、修改
E proxy = new MyProxy(e);
proxy.m1("");
proxy.m2("");
}
}
// 接口
interface E {
// 添加方法
void m1(String s);
// 修改方法
void m2(String s);
}
// 代理类:特点:代理类实现的是多个方法、多个类、多个模块的共同点!!!!!!
class MyProxy implements E {
E e;
public MyProxy(E e) {
this.e = e;
}
@Override
public void m1(String s) {
e.m1("a");
}
@Override
public void m2(String s) {
e.m2("b");
}
}
// 实现
// 理解:使用代理模式后、原来的实现类专心做业务实现即可、其它功能都交由代理类实现。
class F implements E {
@Override
public void m1(String s) {
}
@Override
public void m2(String s) {
}
}
领取专属 10元无门槛券
私享最新 技术干货