23種設計模式之組合模式

2021-08-15 01:20:29 字數 1851 閱讀 5641

應用場景:

組合模式核心:

//抽象元件角色

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 角色 它的主要作用是為樹葉構件和樹枝構件宣告公共介面,並實現它們的預設行為。在透明式的組合模式中抽象構...