using System.Collections.Generic;
using System.Collections.ObjectModel;
public static void Main()
IWidgetContainer container
container.AddNew("Apple", 4);
container.AddNew("Grapefruit",7);
Console.WriteLine( container.Validatate());
container.AddNew("Pear",5);
container.AddNew("Kiwi", 8);
Console.WriteLine( container.Validatate());
public interface IWidgetContainer{
IWidget AddNew(string widget_name, int size);
ReadOnlyCollection<IWidget> Widgets {get;}
List<string> Validatate();
public interface IWidget{
public interface IIdFactory{