熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

使用Decorator模式添加功能

2013-11-23 19:53:19  來源: Java高級技術 

  作者eclipse
  
  可能你已經在用Decorator模式了但是跟所有其他模式一樣知道你為什麼使用它學習使用它跟別的開發者溝通是很重要的
  
  
  Decorator模式即Wrapper模式其強制控制作用是在不改動一個類的代碼或者不破壞一個類的接口的情況下為該類添加功能當你想一個類具有更多功能的時候使用Decorator模式意味著增加功能後的版本不一定要通過擴展類來重用現有功能
  
  
  假定有一個叫做Action的接口有兩個方法act()act()這個接口有一個具體版本ConcreteActionDecorator將會是一個實現Action的類其構造器有一個Action(通常是ConcreteAction)所以代碼如下
  
  public class ActionDecorator implements Action {
  
   private Action action;
  
   public ActionDecorator(Action action) {
   thisaction = action;
   }
  
  
  public void act() {
   actionact();
   }
  
   public void act() {
   // do nothing
   }
  
  }
  
  使用Decorator比使用繼承產生更少的類所以其代碼比較簡單但是它通常產生更多的對象將導致調試難度增加尤其是因為它增加了靈活度可能會引入新的錯誤
  

From:http://tw.wingwit.com/Article/program/Java/gj/201311/27629.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.