代理模式: 为其他对象提供一种代理以控制对这个对象的访问。
public interface BuyCar {
public void buyCar();
}
public class BuyCarImpl implements BuyCar {
@Override
public void buyCar() {
System.out.println("我要买车!!");
}
}
public class ProxyBuyCar implements BuyCar {
private BuyCar buyCar;
public ProxyBuyCar(final BuyCar buyCar){
this.buyCar = buyCar;
}
@Override
public void buyCar() {
System.out.println("买车前准备!!");
buyCar.buyCar();
System.out.println("买车后行驶上路!!");
}
}
```java
public class Main {
public static void main(String[] args) {
BuyCar buyCar = new BuyCarImpl();
buyCar.buyCar();
ProxyBuyCar proxyBuyCar = new ProxyBuyCar(buyCar);
proxyBuyCar.buyCar();
}
}