應用場景:
組合模式核心:
//抽象元件角色
public
inte***ce
component
//葉子構件角色
inte***ce
leaf
extends
component
//容器構件角色
inte***ce
composite
extends
component
使用組合模式,模擬防毒軟體的架構設計!
//抽象構建
public
inte***ce abstractfile
//葉子元件
public
class
imagefile
implements
abstractfile
@override
public
void
killvirus()
}
//文字葉子節點
public
class
textfile
implements
abstractfile
@override
public
void
killvirus()
}
public
class
videofile
implements
abstractfile
@override
public
void
killvirus()
}
//容器構件
public
class
folder
implements
abstractfile
//新增元件
public
void
add(abstractfile file)
//移除元件
public
void
remove(abstractfile file)
public abstractfile getchild(int index)
@override
public
void
killvirus() }}
測試
abstractfile f2, f3, f4,f5;
folder f1 = new folder("我的收藏");
f2 = new imagefile("美女.jpg");
f3 = new textfile("城市.txt");
f1.add(f2);
f1.add(f3);
folder folder=new folder("電影");
f4=new videofile("戰狼2.mp4");
f5=new videofile("新戰神.mp4");
folder.add(f4);
folder.add(f5);
f1.add(folder);
f1.killvirus();
23種設計模式之組合模式
1.組合模式又叫部分整體模式,它建立了物件組的樹形結構,將物件組合成樹狀結構以表示 部分 整體 的層次關係 2.組合模式依據樹形結構來組合物件,用來表示部分以及整體的層次關係 3.組合模式屬於結構型模式 4.組合模式能讓使用者對單個物件和組合物件的訪問具有一致性 1.component 這是組合中物...
23種設計模式 組合模式
組合模式 無需關係處理的單個物件,還是組合的物件容器,實現容器之間的解耦合。當有新部件時容易新增進來。1.可以想象成樹結構 根節點 最上層 public inte ce iroot2.分支節點 中間 public inte ce ibranch3.葉子節點 最下層 public inte ce il...
23種設計模式(組合模式)
定義 有時又叫作部分 整體模式,它是一種將物件組合成樹狀的層次結構的模式,用來表示 部分 整體 的關係,使使用者對單個物件和組合物件具有一致的訪問性。1.結構需求 1.抽象構件 component 角色 它的主要作用是為樹葉構件和樹枝構件宣告公共介面,並實現它們的預設行為。在透明式的組合模式中抽象構...