設計模式-組合模式

組合模式的定義:

將對象組合成樹的形式來表示整體和局部之間的關係,使得客戶端對單個對象和組合對象的使用有了一致性。

 

適用場合:

1.需要表示一個對象整體或者局部的關係,在具有整體和部分的層次結構中,希望通過一種方式忽略整體和部分的差異
,可以一致地對待它們。

2.讓客戶端忽略不同對象層次的變化,客戶端可以針對抽象類編程,無需關心對象層次結構的細節。

 

對象類圖:

 



 package designpattern.composite;

public abstract class Component {
    
    public abstract void operation();

}


package designpattern.composite;

import java.util.ArrayList;
import java.util.List;

public class Composite extends Component{
   private List<Component> list = new ArrayList<Component>(10);
  
   public void operation(){
       for (int i = 0; i < list.size(); i++) {
          list.get(i).operation();
       }
   }
  
   public void add(Component component){
       list.add(component);
   }
  
   public void remove(Component component){
       list.remove(component);
   }
}

 

package designpattern.composite;

public class Leaf extends Component {

    @Override
    public void operation() {
        System.out.println("The leaf operation....");
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章