首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Decorator装点器模式

2012-11-07 
Decorator装饰器模式Decorator装饰器,就是动态地给一个对象添加一些额外的职责,装饰器模式具有如下的特征:

Decorator装饰器模式

Decorator装饰器,就是动态地给一个对象添加一些额外的职责,装饰器模式具有如下的特征:
a. 它必须具有一个装饰的对象
b. 它必须拥有与被装饰对象相同的接口
c. 它可以给被装饰对象添加额外的功能
其最主要特征:保持接口,增强性能。?

?

?

其主要代码如下所示:
?

package decorator;/** * 源接口 * @author lenovo * */public interface Sourcable {public void operation();}

?

package decorator;/** * 源类 * @author lenovo * */public class Source implements Sourcable {public void operation() {// TODO Auto-generated method stubSystem.out.println("源类方法");}}

?

package decorator;/** * 装饰器类 * @author lenovo * */public class Decoator implements Sourcable {private Sourcable source;public Decoator(Sourcable source){this.source = source;}public void operation() {// TODO Auto-generated method stub    //调用被装饰类的方法source.operation();//新增加的功能operation1();}private void operation1(){System.out.println("新增加的功能");}}

?

package decorator;public class DecatorTest {/** * 测试类 * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSourcable source = new Source();Sourcable decoator = new Decoator(source);decoator.operation();}}

?

?源类Source与装饰类Decoator拥有共同的接口Sourcable,装饰类Decoator对源类Source的功能进行了相应的添加。

装饰器模式一般在以下情况使用:

需要扩展一个类的功能,或给一个类增加附加责任。

需要动态地给一个对象增加功能,这些功能可以动态撤消。

需要增加一些基本的排列组合产生大量的功能,从而使继承关系变得不现实。

热点排行