zoukankan      html  css  js  c++  java
  • 设计模式之代理模式

    代理模式

    为其他对象提供一种代理,以控制对这个对象的访问

    Subject类

    package com.hml.proxy;
    
    public interface Subject {
    
        public void request();
    }

    RealSubject类

    package com.hml.proxy;
    
    public class RealSubject implements Subject {
    
        public void request() {
    
        }
    
    }

    ProxySubject类(包含被代理的对象)

    package com.hml.proxy;
    
    public class ProxySubject implements Subject {
    
        private RealSubject subject;
    
        public void request() {
            if (subject == null) {
                subject = new RealSubject();
            }
            subject.request();
        }
    
    }

    类图

    代理模式应用

    1、远程代理,为不同的对象在不同的地址空间提供局部代表,这样可以隐藏一个对象在不同的地址空间的事实。

    2、虚拟代理,根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象

    3、安全代理,控制对真实对象的访问权限

    4、智能引导,指当调用真实的对象时,代理处理另外一些事

  • 相关阅读:
    差分约束系统详解
    AC自动机详解
    KMP算法详解
    ST算法详解
    Trie详解
    欧拉路径详解
    树上差分详解
    LCA详解
    树链剖分详解
    树的直径详解
  • 原文地址:https://www.cnblogs.com/heml/p/4620568.html
Copyright © 2011-2022 走看看