= Composite Pattern = ''Part of'' TutorialDesignPatterns == Description == Examples of implementing the Gang of Four Composite Pattern. You can find description on: http://en.wikipedia.org/wiki/Composite_pattern == Example : Composite Pattern == {{{ #!d import std.stdio; interface IGraphicsOperation /* Component */ { void print(); } class Circle /* Leaf */ : IGraphicsOperation { void print() {writefln("Circle");} } class Line /* Leaf */ : IGraphicsOperation { void print() {writefln("Line");} } class Drawing /* Composite */ : IGraphicsOperation { IGraphicsOperation[] children; void print() { writefln("Drawing - begin"); foreach(child; children) child.print; writefln("Drawing - end"); } void add(IGraphicsOperation c) { children~=c; } void remove(IGraphicsOperation c) { for(uint i=0; i