Design Patterns 结构模式 之 Decorator
[img]http://dl.iteye.com/upload/picture/pic/66736/5821a44a-57c8-3d6d-86d4-dac5f70349e3.jpg[/img]
Decorator模式是对目标类的封装,我们并不去直接实用目标类,而是对目标类进行封装,在真正使用目标类的方法之前或之后进行一些其他方面的处理,就像给目标增加了一些装饰一样,所以称为Decorator模式。
[b]首先定义一个接口:[/b]
实现类:
Decorator类
在实际需要使用ConcreteWork类doSomething()方法的功能时,不直接使用ConcreteWork 对象,而是使用new DecoratorWork().doSomething ()来实现具体的功能。
[img]http://dl.iteye.com/upload/picture/pic/66736/5821a44a-57c8-3d6d-86d4-dac5f70349e3.jpg[/img]
Decorator模式是对目标类的封装,我们并不去直接实用目标类,而是对目标类进行封装,在真正使用目标类的方法之前或之后进行一些其他方面的处理,就像给目标增加了一些装饰一样,所以称为Decorator模式。
[b]首先定义一个接口:[/b]
public interface Work {
doSomething ();
}
实现类:
public Class ConcreteWork implements Work {
public vodoSomething () {
// do something
}
}
Decorator类
public Class DecoratorWork implements Work {
private Work work;
public DecoratorWork (Work work) {
this.work = work;
}
public void doSomething () {
doWork();
}
private void doWork() {
System.out.println("do orther work before");
work.doSomething;
System.out.println("do orther work after");
}
}
在实际需要使用ConcreteWork类doSomething()方法的功能时,不直接使用ConcreteWork 对象,而是使用new DecoratorWork().doSomething ()来实现具体的功能。