1. 静态代理
步骤1
以12306售票为例,先定义一个售票接口
public interface Ticket {
public void sellTicket();//售票
}
步骤2
铁道部自己售票
public class Railway implements Ticket {
@Override
public void sellTicket() {
System.out.println("销售了一张火车票");
}
}
步骤3
代理点售票
public class PointProxy implements Ticket {
private Railway railway;
public PointProxy(Railway railway) {
super();
this.railway = railway;
}
@Override
public void sellTicket() {
System.out.println("火车票代理点准备购买火车票");
railway.sellTicket();// 票都是铁道部出的票
System.out.println("购票成功");
}
}
步骤4
测试
Ticket ticket = new PointProxy(new Railway());
ticket.sellTicket();
输出
火车票代理点准备购买火车票
销售了一张火车票
购票成功