不一樣的組合模式(設計模式十六)
阿新 • • 發佈:2020-09-09
前言
組合模式(Composite Pattern),又叫部分整體模式,是用於把一組相似的物件當作一個單一的物件。組合模式依據樹形結構來組合物件,用來表示部分以及整體層次。這種型別的設計模式屬於結構型模式,它建立了物件組的樹形結構。
也就是搭積木,通過某種組合可以形成一種新結構,這種結構有著某種規律,這裡特指樹。
正文
比如說現在有一個需求,要知道某個領導的所有部下。
我們知道,公司的管理層一般來說是金字塔形狀的。
那麼實現這種需求,可以搭建一個這種模型。
interface ICommonFun
{
void sayName();
}
class Leader:ICommonFun{ List<ICommonFun> persons=new List<ICommonFun>(); string name; public leader(string name) { this.name=name; } public void addEmployee() { person.add(); } public void sayName() { console.write(name); foreach(var item in persons) { item.sayName(); } } }
class Employ:ICommonFun{
string name;
public Employ(string name)
{
this.name=name;
}
}
void main() { Leader leader1=new leader("董事長"); Leader leader2=new leader("總經理"); Leader leader3=new leader("祕書"); leader1.add(leader2); leader1.add(leader3); Employ employ=new Employ("小兵"); leader2.add(employ); leader1。sayName(); }
後續
模型圖,補。