设计模式---003代理模式---凡尘

Posted Alley-巷子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式---003代理模式---凡尘相关的知识,希望对你有一定的参考价值。

一、什么是代理模式

 

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

 

二、案例一
 
     需求:如果有人需要找宝宝拍电影,那么首先必须找到吉吉。
     分析:对象:宝宝、吉吉

 

 

三、案例三
 
     用代理模式实现图片预加载
function CreateImg(){
        //创建img标签
        var img = document.createElement("img");
        //设置img的路径为一个loading
        img.src = "loading.gif";
        //插入页码
        document.body.appendChild(img);
        
        //当图片缓存完毕以后替换loading
        this.setSrc = function(url){
            img.src = url;
        }
    }


    function ProxyImg(){
        var target =  new CreateImg();
        //创建Image对象
        var img = new Image();
        //缓存一张图片
        img.onload = function(){
            //当图片缓存完毕后赋值给createImage
            target.setSrc(this.src)
        }

        //设置缓存图片路径
        this.setSrc = function(url){
            img.src = url
        }
    }
    var img = new ProxyImg();
    img.setSrc("w1.jpg");

 

 

以上是关于设计模式---003代理模式---凡尘的主要内容,如果未能解决你的问题,请参考以下文章

Java RMI地址解析问题

003-结构型-06-组合模式(Composite)

003-单例OR工厂模式

003 工厂方法模式

java代码实现设计模式之代理模式

用于从 cloudkit 检索单列的代码模式/片段