代理模式

一句话概述

所谓的代理者是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网络连接、内存中的大对象、文件或其它昂贵或无法复制的资源。

实现一个代理模式

我们来实现一个生活中常见的代理的例子:通过中介租房
1.定义一个租的接口

public interface IRent {
    void rent();
}

2.定义一个实现租接口的客户类

public class Custom implements IRent {

    private String mName;

    public Custom(String string) {
        mName = string;
    }

    @Override
    public void rent() {
        System.out.println(mName+"租了一个房");
    }

}

3.定义一个实现租接口的代理类

public class RentProxy implements IRent{
    private IRent mIRent;
    
    public RentProxy(IRent iRent) {
        mIRent=iRent;
    }

    @Override
    public void rent() {
        mIRent.rent();
    }
    
    public static void main(String[] args) {
        RentProxy rentProxy=new RentProxy(new Custom("小明"));
        rentProxy.rent();
    }

}

打印结果

image.png

是不是有点面熟,我们前面的策略模式就用到了代理模式。
代理模式比较简单,以上就足够了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容