首先,提供一个接口,定义业务功能;
interface Subject{
/**
买电脑
*/
void buyComputer();
}
在定义业务类,实现接口的功能
class RealSubject implements Subject{
public void buyComputer(){
System.out.println("购买电脑");
}
}
继承接口再扩展一个业务类,提供一个代理类;该代理类可以进行扩展,具体操作如下
class ProxySubject implements Subject{
private Subject target;
public ProxySubject(Subject target){
this.target = target;
}
public void buyComputer(){
System.out.println("调研,听取客服的讲解");
//原有的业务
this.target.buyComputer();
System.out.println("享受售后服务");
}
}
首先,创建真正的业务类对象;创建代理类对象,用构造方法传入业务类对象;使用代理类的对象,调用业务功能.