java普通代理模式

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

猜你喜欢

转载自jaesonchen.iteye.com/blog/2286651