码迷,mamicode.com
首页 > 编程语言 > 详细

javascript设计模式学习之——装饰者模式

时间:2016-07-28 16:37:55      阅读:422      评论:0      收藏:0      [点我收藏+]

标签:

一、装饰者模式定义

装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象。这种为对象动态添加职责的方式就称为装饰者模式。装饰者对象和它所装饰的对象拥有一致的接口,对于用户来说是透明的。

和java等语言不同的是,java的装饰器模式是给对象动态添加职责,javascript中,给对象添加职责的能力是与生俱来的,更侧重于给函数动态添加职责。

二、java中的装饰者模式实现

package com.bobo.shejimoshi.derector;

public class Plane {
    public void fire(){
        System.out.println("发射普通子弹");
    }
}
package com.bobo.shejimoshi.derector;

public class MissileDecorator {
    private Plane plane;
    public MissileDecorator(Plane plane){
        this.plane=plane;

    }
    
    public void fire(){
        plane.fire();
        System.out.println("发射导弹");
    }
}

可见在java等传统语言中,给对象动态增加职责的方式,并没有真正地改动对象自身,而是将对象放入另一个对象之中,这些对象都具有相同的对外接口。

 

javascript设计模式学习之——装饰者模式

标签:

原文地址:http://www.cnblogs.com/bobodeboke/p/5715147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!