public interface Business {
public void service();
public void execute();
}
public class BusinessImpl implements Business {
private String id = "default";
public BusinessImpl() {}
public BusinessImpl(String id) {
this.id = id;
}
@Override
public void service() {
System.out.println("service.id = " + this.id);
}
@Override
public void execute() {
System.out.println("execute.id = " + this.id);
}
}
public class BusinessProxy implements Business {
private Business business;
public BusinessProxy(Business business) {
this.business = business;
}
private void doBefore() {
System.out.println("before service");
}
private void doAfter() {
System.out.println("after service");
}
@Override
public void service() {
this.doBefore();
this.business.service();
this.doAfter();
}
@Override
public void execute() {
this.doBefore();
this.business.service();
this.doAfter();
}
public static void main(String[] args) {
BusinessProxy proxy = new BusinessProxy(new BusinessImpl());
proxy.service();
}
}
输出为:
before service
service.id = default
after service