版权声明: https://blog.csdn.net/jiangxuexuanshuang/article/details/88530291
代理模式:对外提供对原对象的一个访问方式。通过代理,可以在被代理的方法上统一做一些业务处理,比如说事务、异常、参数等校验
1、类图
2、代码
public abstract class AbstractExport {
protected String exportType;
public abstract void export();
}
public class SyncExport extends AbstractExport {
public SyncExport() {
super.exportType = "SYNC";
System.out.println("init sync export");
}
@Override
public void export() {
System.out.println("export type:" + super.exportType);
}
}
public class ProxySyncExport extends AbstractExport {
private AbstractExport export;
public ProxySyncExport() {
super.exportType = "REAL_SYNC";
}
@Override
public void export() {
if (export == null) {
export = new SyncExport();
}
export.export();
}
}
public class ExportTest {
public static void main(String[] args) {
AbstractExport export = new ProxySyncExport();
export.export();
export.export();
}
}