博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式——装饰器
阅读量:4566 次
发布时间:2019-06-08

本文共 955 字,大约阅读时间需要 3 分钟。

用于给对象在运行期间动态的增加某个功能,职责等。相较通过继承的方式来扩充对象的功能,装饰器显得更加灵活,首先,我们可以动态给对象选定某个装饰器,而不用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

转载于:https://www.cnblogs.com/zqiong/p/6249790.html

你可能感兴趣的文章
队列的循环队列
查看>>
程序中的日期格式
查看>>
大众点评CAT错误总结以及解决思路
查看>>
MyEclipse 检出新项目后,如果项目名称签名有个红色感叹号
查看>>
Java开发环境系列:一篇能解决你99%问题的排雷日记
查看>>
从0开始学爬虫3之xpath的介绍和使用
查看>>
Shell成长之路
查看>>
vim下正则表达式的非贪婪匹配
查看>>
一个python的计算熵(entropy)的函数
查看>>
spring源码学习——spring整体架构和设计理念
查看>>
模拟window系统的“回收站”
查看>>
OpenCV中的split函数
查看>>
MongoDB divide 使用之mongotempalte divide
查看>>
SSH不允许进行DNS解析
查看>>
Git(介绍和安装)
查看>>
磁盘管理
查看>>
重写与重载
查看>>
Python 爬取qqmusic音乐url并批量下载
查看>>
Java代码获取spring 容器的bean几种方式
查看>>
2015年3月5日(元宵节)——substr()与substring()的区别
查看>>