当前位置:首页 > 日记 > 正文

介绍javascript设计模式的装饰器模式

介绍javascript设计模式的装饰器模式
装饰模式的描述
注:对于另一类功能对象,通过一个类进行动态修改前后,给它添加一些额外的功能;这是一种对象函数的装饰、装饰和装饰都是类类,要求具有相同的访问方法(功能)。在一般的动态对象类中,为了实现相同的接口(接口)来实现装饰的约束;有一个参考在装饰中使用,相应的装饰方法,通过调用相应的装饰方法,然后进行修改;
现场实例:
1,例如,我们生活中的衣服,衬衫,西装外套,裤子,领带和一双漂亮的皮鞋,每一件都是用于正面或全身的装饰。

例如,我们有2个>。功能类,可以用来写日志,用户登录可以使用这样的功能,可能需要在登录成功后写入当前日志操作的信息,写一写额外的操作日志;日志之前,它仍然是太阳成功后写日志通用;板写日志,它是整体运作的信息也是一个登录过程;

因此,装饰器模式用于实现类似于两种操作的场景,即由装饰器扩展装饰器的功能对象本质上与原始方法的功能范围相同。
示例源代码
1。装饰品
复制代码代码如下所示:

功能磨损(){
}

wear.prototype.shirt =函数(){

衬衫

console.log(衬衫上的火);

}
2。装饰类
复制代码代码如下所示:

功能装饰(穿戴){

this.wear =穿;

}

decorator.prototype.shirt =函数(){

This.wear.Shirt();

/一件衬衫,我加了一条领带

}
三.使用方法
复制代码代码如下所示:

无磨损=新磨损();

var装饰器=新装饰器(磨损);

装饰师。衬衫();
这样,我们就可以实现穿衬衫的物体的动态膨胀和装饰,而不需要知道最初的装饰是如何执行的,只要我们知道它的功能是什么,那么我们知道我们还需要添加什么功能。
其他说明
装饰模式真的提出了面向对象的方法:扩展和打开、修改和关闭的原则;所有需要的功能方法都是在没有修改的情况下完成的。

装饰图案的一个主要特点是将装饰物引用到装饰物上,从而实现装饰物的未经修饰的装饰;

在模拟中:先穿上衬衫,然后系上领带,然后穿上套装的场景:上面的装饰是一样的:
2。装饰类:
复制代码代码如下所示:

功能装饰(穿戴){

this.wear =穿;

}

decorator.prototype.shirt =函数(){

(这件。衬衫);这里只穿衬衫;

}
三.创建一个领带类和一套类似于装饰子类的套装。
复制代码代码如下所示:

功能decorator_tie(装饰){

this.decorator =装饰;

}

decorator_tie.prototype.shirt =函数(){

(这个装饰师衬衫)。

console.log('wear领带了);

}

功能decorator_western(装饰){

this.decorator =装饰;

}

decorator_western.prototype.shirt =函数(){

This.decorator.Shirt();

console.log(诉讼);

}
使用方法:
复制代码代码如下所示:

/第一次穿上衬衫。

无磨损=新磨损();

var装饰器=新装饰器(磨损);

/ / decorator.shirt();
VaR的领带=新decorator_tie(装饰);

/ / tie.shirt();

/然后穿西装

西方=新decorator_western VaR(领带);

西式衬衫();
这是一个服装装饰的例子。

相关文章

实现阿拉伯数字与罗马数字互转换的

实现阿拉伯数字与罗马数字互转换的

罗马数字,方法,转换,阿拉伯数字,电脑软件,本文的实例说明了用PHP实现阿拉伯数字与罗马数字之间的相互转换的方法,供大家参考: 计算给定数量的罗马字符串的函数: 功能dec2roman($) { 如果$ f不是实数,则返回false, $ f大于或f为f或3999等于0: 如果(!i…

如何在单词的顶部插入一条十字线词

如何在单词的顶部插入一条十字线词

常见问题,单词,词中,如何在,电脑软件,问:如何在单词的顶部插入一条十字线另外,如何插入图像,如正弦函数、正态分布等 答:加线可以使用页眉和页脚,也可以画出绘图方法,插入函数等特殊的数学公式可以使用公式编辑器,如果你的字不能从网上下载,选择插…

美丽的3D贴纸PS写作教程

美丽的3D贴纸PS写作教程

教程,3D,贴纸,美丽,电脑软件,每个人都知道好的设计离不开完美的字体设计,那么如何才能做出漂亮的字体呢然后一起学习3D贴纸PS写作教程。 好的设计离不开漂亮的字体设计。今天,这个美丽的3D贴纸PS文本制作教程,文本非常好,制作方法也不是很难。…

js实现了一个简单的切换选项卡效果

js实现了一个简单的切换选项卡效果

选项卡,实现了,效果,简单,电脑软件,本文演示了js如何实现一个简单的切换选项卡效果: 例如,最简单、最纯的选项卡 当然,第一步是首先编写HTML代码和CSS样式。 非所有权文件 体、UL、李{ margin: 0;padding: 0;字体:宋体12px / 1.5;} 列表样式:无;}…

ai绘制一个现实的现实相机图标

ai绘制一个现实的现实相机图标

图标,绘制,现实,相机,电脑软件,本教程介绍了一个朋友ai来绘制一个不错的现实相机图标的方法。这个教程真的很好,可以把相机画出来。建议像你这样的朋友一起学习这个教程。 在本教程中,AI学习者使用AI绘制真实的相机图标。相机的纹理很好,我通…

在Javascript中的math.log2e属性使用一个

在Javascript中的math.log2e属性使用一个

解决方案,属性,详细,电脑软件,Javascript,这将返回到基数为2的对数E,约为1.442。 语法 math.log2e 实例uff1a Javascript的数学log2e财产 无功property_value = math.log2e document.write(属性值为:+ property_value); 这将产生以下结果: 属性值为…

QQ空间经典雨天心情谈QQ空间

QQ空间经典雨天心情谈QQ空间

空间,雨天,心情,经典,电脑软件,第一,经典雨天的心情 1、张爱玲说:雨的潺潺声,就像生活在小溪边,宁愿每天下雨,以为你不会因为下雨而来。。 2、有个傻瓜总在动的时候就喜欢说:天下雨了。 3、眼睛为你下雨,心是为你撑伞。 4,现在不再那么幻想,但还是喜…

PS创造一个有光泽的朦胧西方艺术词

PS创造一个有光泽的朦胧西方艺术词

西方,创造一个,朦胧,有光泽,效果,本教程是介绍朋友创建的亮雾PS,用西方艺术字效果,很好的教程,做出来的文字很漂亮,推荐在这里,一起学习吧。 在今天的教程中,我们将使用以前使用的教程的方法,并介绍了一些新的技术,它也是一个老说,最后的效果不是目…

如何制作卡通元素可爱框架入门教程

如何制作卡通元素可爱框架入门教程

框架,元素,入门教程,卡通,可爱,快速制作卡通元素可爱框架 PS漂亮的图片边框设计教程,PS基础课程:快速制作卡通元素可爱相框,本教程介绍了可爱相框的制作,一般过程是利用快速遮罩和滤镜效果进行选择,然后填充适当的颜色,添加一些装饰边框。 首先,创…

快速添加的总页码ppt2003教程为ppt

快速添加的总页码ppt2003教程为ppt

教程,页码,快速,电脑软件,ppt2003演示时,我们通常想到的是如何说的演讲内容,而忘记了ppt2003总数。尤其是当页面数量大,花在前面的幻灯片的时间多了,和后面的内容是没有足够的时间来告诉你。如果你能在ppt2003的总页数是好的,但不喜欢它的两ppt2…

只要四步教你做漂亮的品牌标志字体

只要四步教你做漂亮的品牌标志字体

字体,教你做,标志,漂亮,品牌,下面的小编辑器只为你介绍四个步骤,你可以制作一个漂亮的罗字体品牌,教程很不错,非常适合设计师初学者学习,看看吧。 教你四个步骤制作一个漂亮的牌子罗字体,非常实用,希望你喜欢它! 以上就是教你四个步骤制作一个漂…

Dreamweaver如何快速添加空间

Dreamweaver如何快速添加空间

空间,快速,电脑软件,Dreamweaver,Dreamweaver如何快速添加空间一般来说,在Dreamweaver中,只有一个空格可以被空格键击中。多个空间怎么能连续打这里有三种添加空间的方法,你需要的朋友可以参考。 一般来说,在Dreamweaver中,只有一个空格可以被空…