摘要:
Composite模式体现部分与整体的关系,形象的比喻就如树形图。树中有根节点、枝节点(可以包含子节点)、叶节点(无子节点)。Composite模式有两种方式:1.透明方式,就是在根节点中声明所有用来管理子节点的方法,比如Add、Remove等。这样对于叶节点来说,会产生一些无意义的代码重写。2.安全方式,只在枝节点中声明管理子节点的方法。但是,当出现某些三层继承时,会有些麻烦。比如,根节点A包含Add、Remove方法;枝节点B继承A,不需要Add、Remove方法,重写为空;C继承B,需要Add、Remove方法,又重写A的方法,这样就会造成重复的代码。参看.Net Framework中C 阅读全文