有人可以解释一下复合设计模式的真实例子吗?
答案 0 :(得分:5)
当对象集合的处理方式与同一类型的一个对象相同时,可以使用复合模式。这通常与树结构数据一起使用。以下是此模式非常适合的示例:
public abstract class Shape {
public abstract void Draw();
}
public class Line : Shape {
public override void Draw() {
// Draw line
}
}
public class Polygon : Shape {
private IList<Line> lines;
public override void Draw() {
foreach (Shape line in lines) {
line.Draw();
}
}
}
正如您所看到的,该模式使得处理绘图形状的代码可能不知道绘制了多少行。