Oop 什么是';复合图案';?
任何人都可以解释并给出一个真实的实例来说明复合设计模式吗?当一组对象应被视为同一类型的一个对象时,可以使用复合模式。这通常用于树结构数据。下面是此模式非常适合的示例:Oop 什么是';复合图案';?,oop,design-patterns,composite,object-oriented-analysis,Oop,Design Patterns,Composite,Object Oriented Analysis,任何人都可以解释并给出一个真实的实例来说明复合设计模式吗?当一组对象应被视为同一类型的一个对象时,可以使用复合模式。这通常用于树结构数据。下面是此模式非常适合的示例: public abstract class Shape { public abstract void Draw(); } public class Line : Shape { public override void Draw() { // Draw line } } public c
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();
}
}
}
公共抽象类形状{
公开摘要无效抽取();
}
公共课线:形状{
公共覆盖无效绘图(){
//划线
}
}
公共类多边形:形状{
私有IList线路;
公共覆盖无效绘图(){
foreach(线条中的造型线条){
line.Draw();
}
}
}
如您所见,该模式使处理绘制形状的代码可能不知道绘制了多少条线。[无聊模式开][无聊模式关]检查,它有一个Java语言的示例。同时检查,UML类图和参与者都很好,它是用C语言实现的。希望有帮助。编辑:我刚刚找到了一些最佳实践。