设计模式理解(八)结构型——装饰者模式(记得加上UML图 --- 未完)

一段时间没写,又忘了,晕。。。设计模式这种东西一定要经常用。

装饰者模式(Decorator)用于动态地给一个对象增加一些额外的职责,就增加功能来说,他比生成子类更为灵活。

装饰者模式的原则是:

  1. 能用组合就用组合,而不用继承

  2. 在运行时才确定添加的方法

UML类图:

 

/* -------------------------

 * ------- 分割线 ----------

 * ------------------------- */

代码:

///Component:
///定义一个对象接口,可以给这些对象动态地添加职责。
public interface Component{
    void operation();
}
///Concrete Component:
///定义一个对象,可以给这个对象添加一些职责。
public class ConcreteComponent implements Component
{
    public void operation()
    {
        // Write your code here
    }
}
///  装饰者父类, 默认直接调用component的方法
public class Decorator implements Component{
    public Decorator(Component component){
        this.component = component;
    }
    public void operation(){
        component.operation();
    }
    private Component component;
}
/// 以后的装饰者子类,重写父类的operator()方法,在里面加入自己的东西即可。

 

 


/*  --- 完 --- */

posted @ 2016-03-02 17:50  myjhaha  阅读(2032)  评论(0编辑  收藏  举报