package com.leitao.demo.design;
/**
* 代理模式
* @Description: TODO
* @Author LeiTao
* @Date 2023/5/2
* @Version V1.0
**/
public class ProxyPattern {
public static void main(String[] args) {
Proxy proxy = new Proxy(new RealSubject());
proxy.buy();
}
}
interface Subject{
public void buy();
}
class Proxy implements Subject {
protected RealSubject realSubject;
public Proxy(RealSubject realSubject) {
this.realSubject = realSubject;
}
@Override
public void buy() {
System.out.println("办理购买前手续");
realSubject.buy();
System.out.println("办理购买后手续");
}
}
class RealSubject implements Subject{
@Override
public void buy() {
System.out.println("付钱");
}
}