public IHandleOneWebRequest get_handler_for_request(IProvideDetailsToHandlers request) { return all_the_handlers.FirstOrDefault(x => x.can_process(request)) ?? create_the_missing_handler(request); }
public void process(IProvideDetailsToHandlers web_request) { feature.process(web_request); }
public bool can_process(IProvideDetailsToHandlers request) { return request_criteria(request); }
public void process(IProvideDetailsToHandlers web_request) { var handler = handlers.get_handler_for_request(web_request); handler.process(web_request); }