using System.Collections.Generic;
public interface IComponent
public class Shape: IComponent
Console.WriteLine("Render Shape");
public class Group: IComponent
private List<IComponent> components = new List<IComponent>();
public void Add(IComponent component)
components.Add(component);
foreach(var component in components)
public static void Main()
var group1 = new Group();
var group2 = new Group();