`
Jameslyy
  • 浏览: 401950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 ()来实现具体的功能。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics