简历例子
public interface Car {
void drive();
}
public class Dd implements Car {
@Override
public void drive() {
System.out.println("我自己开车");
}
}
public class DdProxy implements Car {
private Car car;
DdProxy(Car car) {
this.car = car;
}
@Override
public void drive() {
System.out.println("我是滴滴代驾");
car.drive();
}
}
单元测试
public class DdProxyTest {
@Test
public void drive() {
Car dd = new Dd();
dd.drive();
Car proxy = new DdProxy(dd);
proxy.drive();
}
}
运行结果
我自己开车
我是滴滴代驾
我自己开车
总结
代理模式通俗易懂,通过代理对象来访问真实的方法或者对象,这样可以灵活的添加一些额外的逻辑。