Java设计模式--代理模式

代理模式属于结构型模式。一个类代表另一个类的功能,主要是为了解决直接访问某些类可能造成的问题,使用第三方的类来实现一些功能,需要注意的是,为了实现对客户端透明,代理类和被代理类要实现同样的接口,简单实现:

抽象接口

public interface Product {
    void fun();
}

实现类

public class RealProduct implements Product{
    @Override
    public void fun() {
        System.out.println("form realProduct");
    }
}

代理类:

public class ProxyProduct implements Product{
    private Product product;

    public ProxyProduct(Product product){
        this.product = product;
    }

    @Override
    public void fun() {
        product.fun();
    }
}

测试类

public class test {

    public static void main(String[] args) {
        ProxyProduct proxyProduct = new ProxyProduct(new RealProduct());
        proxyProduct.fun();
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义 代理模式是对象的结构模式。代理模式给某一个对象提供代理对象,并由代理对象控制对源对象的引用。 代理模式的结构...
    步积阅读 11,530评论 0 1
  • 参考资料:菜鸟教程之设计模式 设计模式概述 设计模式(Design pattern)代表了最佳的实践,通常被有经验...
    Steven1997阅读 4,925评论 1 12
  • iOS多线程的学习总结 一个程序可有多个进程,一个进程,可有多个线程。且至少有一个线程。线程内部是串行,但是每条线...
    3fbfd3c15df9阅读 4,613评论 0 0
  • 刘关张自桃园三结义,自此便踏上一展宏图之业的大道,后事暂且不表。笔者试从三人相识来看,他们是如何自立为号,拉开创业...
    拓疯阅读 5,831评论 1 1
  • 人生所有的限制来自于自己对自己的限制 人生所有的成就来自于自己对自己的突破 9月23-24日,在朋友的推荐下参加了...
    曾希这一天阅读 2,828评论 0 1