不一样的组合模式(设计模式十八)

前言

组合模式(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();
}

后续

模型图,补。

posted @ 2020-09-09 11:22  敖毛毛  阅读(176)  评论(0编辑  收藏  举报