标签:
一、装饰者模式定义
装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象。这种为对象动态添加职责的方式就称为装饰者模式。装饰者对象和它所装饰的对象拥有一致的接口,对于用户来说是透明的。
和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等传统语言中,给对象动态增加职责的方式,并没有真正地改动对象自身,而是将对象放入另一个对象之中,这些对象都具有相同的对外接口。
标签:
原文地址:http://www.cnblogs.com/bobodeboke/p/5715147.html