using Decorator.Components; using Decorator.Decorators; using System.ComponentModel; namespace Decorator { internal class Program { static void Main(string[] args) { Client client = new Client(); ConcreteComponent simple = new ConcreteComponent(); Console.WriteLine("Client: I get a simple component:"); client.ClientCode(simple); Console.WriteLine(); ConcreteDecoratorA decorator1 = new ConcreteDecoratorA(simple); ConcreteDecoratorB decorator2 = new ConcreteDecoratorB(decorator1); Console.WriteLine("Client: Now I've got a decorated component:"); client.ClientCode(decorator2); } } }