zoukankan      html  css  js  c++  java
  • Proxy

    //Subject 定义RealSubject和Proxy的共同接口,这样可以在任何使用RealSubject的地方都可以用Proxy。
    public abstract class Subject {
    
        public abstract void request();
        
    }
    //RealSubject 定义Proxy所代表的真实实体
    public class RealSubject extends Subject{
    
        @Override
        public void request() {
            System.out.println("real do subject !");
        }
        
    }
    //Proxy RealSubject的代理,与RealSubject同一个接口,这样可以代替实体。
    public class Proxy extends Subject {
    
        private RealSubject subject = new RealSubject();
    
        @Override
        public void request() {
            subject.request();
        }
    
    }
    public class Client {
    
        public static void main(String[] args) {
            Proxy proxy = new Proxy();
            proxy.request();
        }
        
    }

    打印结果:
    real do subject !

    代理模式:为其它对象提供了一种代理以控制这个对象的访问。

    代理模式主要使用了 Java 的多态,干活的是被代理类,代理类主要是接活,你让我干活,好,我交给幕后的类去干,你满意就成,那怎么知道被代理类能不能干呢?同根就成,大家知根知底,你能做啥,我能做啥都清楚的很,同一个接口呗。

  • 相关阅读:
    正则
    springboot整合rabbitmq(fanout广播模式)
    docker 安装rabbitmq
    centos7安装rabbitmq
    rabbitmq报错{:query, :rabbit@master1, {:badrpc, :timeout}}
    Linux永久修改hostname
    thread dump日志文件分析
    模板方法模式
    装饰器模式
    springboot集成redis,压测报错;
  • 原文地址:https://www.cnblogs.com/xuekyo/p/2847756.html
Copyright © 2011-2022 走看看