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

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

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

装饰者模式的原则是:spa

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

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

UML类图:component

 

/* -------------------------对象

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

 * ------------------------- */继承

代码:接口

///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()方法,在里面加入本身的东西便可。

 

 

/*  --- 完 --- */

相关文章
相关标签/搜索