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、智能引导,指当调用真实的对象时,代理处理另外一些事

  • 相关阅读:
    HDU 3949 XOR
    [JXOI2018]游戏
    树状数组 Binary Indexed Tree/Fenwick Tree
    Java 多线程编程
    概率算法
    最长回文子串 Manacher算法
    动态规划-最长上升子序列 LIS
    流水作业调度
    多机调度问题
    A*搜索算法
  • 原文地址:https://www.cnblogs.com/heml/p/4620568.html
Copyright © 2011-2022 走看看