名称: 组合模式
说说:
动机:使得用户对单个对象和组合对象的使用具有一致性
适用性:
参与者:
结果:将对象组合成树形结构以表示成“部分-整体”的层次结构
类图:
说明:单个和组合使用统一的操作
demo c#:
namespace component {
class Program {
static void Main(string[] args) {
}
}
abstract class component {
protected string _name;
public string name{
get{return this._name;}
}
public component(string n) {
this._name = n;
}
public void add(component c);
public void remove(component c);
}
public class leaf : component {
public void add(component c) {
throw new Exception("叶结点无法添加子结点");
}
public void remove(component c) {
throw new Exception("叶结点无子结点");
}
}
public class Composite : component {
List<component> components = new List<component>();
public void add(component c) {
this.components.Add(c);
}
public void remove(component c) {
this.components.Remove(c);
}
}
}