设计模式之2代理模式

2018-04-19  本文已影响0人  钱学敏

定义

为一个对象提供一个代用品或占位符,以便控制对它的访问。比如明星的经纪人代替明星谈演唱会报酬,谈好之后明星再签合同。核心是当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象控制这个对象的访问,替身对象对请求进行一些处理之后再把请求转交给本体对象。

代理没有主动权

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>设计模式之代理模式</title>
</head>

<body>
    <pre>代理模式</pre>
    <script>
    //本体
    var myImage = (function() {
        var imageNode = document.createElement('img');
        document.body.appendChild(imageNode);
        return {
            setSrc: function(src) {
                imageNode.src = src
            }
        }
    })()
    //代理
    var proxyImage = (function() {
        return {
            setSrc: function(src) {
                myImage.setSrc(src)
            }
        }
    })()

    proxyImage.setSrc('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1524076704400&di=5ed9b471e41c7bd35ed161e4c3cfdcb8&imgtype=0&src=http%3A%2F%2Fpic.90sjimg.com%2Fdesign%2F00%2F75%2F92%2F97%2F59326a6aa402b.png')
    </script>
</body>

</html>
上一篇下一篇

猜你喜欢

热点阅读