首页 > 其他 > 详细

设计模式——装饰器

时间:2017-01-04 19:58:44      阅读:174      评论:0      收藏:0      [点我收藏+]

用于给对象在运行期间动态的增加某个功能,职责等。相较通过继承的方式来扩充对象的功能,装饰器显得更加灵活,首先,我们可以动态给对象选定某个装饰器,而不用hardcore继承对象来实现某个功能点。其次:继承的方式可能会导致子类繁多,仅仅为了增加某一个单一的功能点,显得有些多余了。

 

 function addLoadEvent(fn) {
            var oldEvent = window.onload;
            if(typeof window.onload != ‘function‘) {
                window.onload = fn;
            }else {
                window.onload = function() {
                    oldEvent();
                    fn();
                };
            }
        }
        function fn1() {
            console.log(‘onloadFunc 1‘);
        }
        function fn2() {
            console.log(‘onloadFunc 2‘);
        }
        function fn3() {
            console.log(‘onloadFunc 3‘);
        }
        addLoadEvent(fn1);
        addLoadEvent(fn2);
        addLoadEvent(fn3);

修饰器(Decorator)是一个函数,用来修改类的行为。这是ES7的一个提案,目前Babel转码器已经支持。

参考:http://blog.csdn.net/qiqingjin/article/details/51344684

http://es6.ruanyifeng.com/#docs/decorator

设计模式——装饰器

原文:http://www.cnblogs.com/zqiong/p/6249790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!