public Program()
 {
     Computer comp = new Computer();
     comp = new Disk( comp );
     comp = new Monitor( comp );
     comp = new CD( comp );
     comp = new CD( comp );
     Console.WriteLine( comp.Description() );
 }
        public void Run()
        {
            Decorator.ComponentComputer computer = new Decorator.ConcreteComponent();
            Decorator.Disk    disk    = new Decorator.Disk();
            Decorator.Monitor monitor = new Decorator.Monitor();
            Decorator.CD      cd      = new CD();
            //computer

            System.Console.WriteLine(computer.Description());

            //computer + disk
            disk.SetComponent(computer);
            System.Console.WriteLine(disk.Description());

            //computer + disk + monitor
            monitor.SetComponent(disk);
            System.Console.WriteLine(monitor.Description());

            //computer + disk + monitor + CD
            cd.SetComponent(monitor);
            System.Console.WriteLine(cd.Description());
            //end
            System.Console.ReadLine();
        }