其他分享
首页 > 其他分享> > 代理模式

代理模式

作者:互联网

静态代理模式

真是对象和代理对象都要实现一个接口。
代理谁=》真实目标角色

代理对象可以做很多真实对象做不了的事情
真实对象专注做自己的事情

/**
 * 模拟中介租房
 */
public class StaticProxy_RentHourse {
    public static void main(String[] args) {
        //new LianJiaProxy(new ZukeTarget()).rent();
        
        new LianJiaProxy(()->{
            System.out.println("我租到一个性价比比较高的房子");
        }).rent();
    }
}

/**
 * 租房
 */
interface Rent{
    public void rent();
}

/**
 * 目标:租客
 */
class ZukeTarget implements Rent{

    @Override
    public void rent() {
        System.out.println("我租到一个性价比比较高的房子");
    }
}

/**
 * 代理:链家
 */
class LianJiaProxy implements Rent{

    private Rent rent;//真实目标角色

    public LianJiaProxy(Rent rent) {
        this.rent = rent;
    }

    @Override
    public void rent() {
        nofityLook();
        this.rent.rent();
        pay();
    }

    private void pay() {
        System.out.println("付款了");
    }

    private void nofityLook() {
        System.out.println("链家通知看房");
    }
}

 

标签:LianJiaProxy,void,代理,模式,System,Rent,public,rent
来源: https://www.cnblogs.com/jzbl/p/16386343.html