8

Composite Design Patternの実際の例を説明してください。

4

1 に答える 1

5

複合パターンは、オブジェクトのコレクションを同じタイプの 1 つのオブジェクトと同じように扱う必要がある場合に使用できます。これは、ツリー構造のデータでよく使用されます。以下は、このパターンが適している例です。

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();
        }
    }
}

ご覧のとおり、このパターンにより、図形の描画を扱うコードは、描画された線の数を認識できなくなります。

于 2011-01-30T13:23:50.337 に答える