public static void DecoratorExample() { //Пустой калькулятор, без дополнительной логики ICalculator calculator = new Calcuator(); //Калькулятор задекорированный логером и таймером //calculator = new TimerDecorator(calculator); //calculator = new LoggerDecorator(calculator); //Пример билдера раширения для удобного составления цепочки дерорторов calculator = new DecoratorBuilder(calculator) .WithTimer() .WithLogger() .Build(); calculator.SetFunction((x) => x * 2); var result = calculator.Calculate(2); Console.WriteLine(result); }
public void Setup() { _Cal = new Calcuator(); }