设计模式-代理模式

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();

输出

火车票代理点准备购买火车票
销售了一张火车票
购票成功

你可能感兴趣的:(设计模式-代理模式)