Design Patterns 构造模式 之 Decorator

Design Patterns 结构模式 之 Decorator
Design Patterns  结构模式 之 Decorator
Design Patterns  构造模式 之 Decorator

  Decorator模式是对目标类的封装,我们并不去直接实用目标类,而是对目标类进行封装,在真正使用目标类的方法之前或之后进行一些其他方面的处理,就像给目标增加了一些装饰一样,所以称为Decorator模式。

  首先定义一个接口:
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 ()来实现具体的功能。