static void Main() { ILogger logger = new ConsoleLogger(); var funcBasedLoggingHandler = new FuncbasedHandler( request => false, request => { logger.WriteLine($"Logging handler-> {(string.IsNullOrEmpty(request?.Data) ? "EMPTY MSG" : request.Data)}"); }); SendRequests(MakeChain(funcBasedLoggingHandler, logger)); SendRequests(MakeChainUsingFactory(funcBasedLoggingHandler, logger)); Console.ReadLine(); }
static void Main() { ILogger logger = new ConsoleLogger(); var funcBasedLoggingHandler = new FuncbasedHandler( request => false, request => { logger.WriteLine($"Logging handler-> {(string.IsNullOrEmpty(request?.Data) ? "EMPTY MSG" : request.Data)}"); }); var cor = new ChainOfResponsibility() .AddHandler(new OnlySmallLettersHandler(logger)) .AddHandler(new StartWithBigLetterRequestHandler(logger)) .AddHandler(funcBasedLoggingHandler) .AddHandler(new UnhandledRequestHandler(logger)); cor.Handle(new Request("all_small_letters_request")); cor.Handle(new Request("FirstIsBigRequest")); cor.Handle(new Request(null)); Console.ReadLine(); }