public static void Main(string[] args) { var typeNameSerializer = new LegacyTypeNameSerializer(); var argParser = new ArgParser(); var arguments = argParser.Parse(args); bool enableBinaryPayloads = false; arguments.WithTypedKeyOptional <bool>("b", a => enableBinaryPayloads = bool.Parse(a.Value)) .FailWith(messsage("Invalid enable binary payloads (b) parameter")); IErrorMessageSerializer errorMessageSerializer; if (enableBinaryPayloads) { errorMessageSerializer = new Base64ErrorMessageSerializer(); } else { errorMessageSerializer = new DefaultErrorMessageSerializer(); } // poor man's dependency injection FTW ;) var program = new Program( argParser, new QueueRetreival(errorMessageSerializer), new FileMessageWriter(), new MessageReader(), new QueueInsertion(errorMessageSerializer), new ErrorRetry(new JsonSerializer(), errorMessageSerializer), new Conventions(typeNameSerializer)); program.Start(args); }
public static void Main(string[] args) { var typeNameSerializer = new TypeNameSerializer(); var argParser = new ArgParser(); var arguments = argParser.Parse(args); bool enableBinaryPayloads = false; arguments.WithTypedKeyOptional<bool>("b", a => enableBinaryPayloads = bool.Parse(a.Value)) .FailWith(messsage("Invalid enable binary payloads (b) parameter")); IErrorMessageSerializer errorMessageSerializer; if (enableBinaryPayloads) { errorMessageSerializer = new Base64ErrorMessageSerializer(); } else { errorMessageSerializer = new DefaultErrorMessageSerializer(); } // poor man's dependency injection FTW ;) var program = new Program( argParser, new QueueRetreival(errorMessageSerializer), new FileMessageWriter(), new MessageReader(), new QueueInsertion(errorMessageSerializer), new ErrorRetry(new JsonSerializer(typeNameSerializer), errorMessageSerializer), new Conventions(typeNameSerializer)); program.Start(args); }
public Program( ArgParser argParser, IQueueRetreival queueRetreival, IMessageWriter messageWriter, IMessageReader messageReader, IQueueInsertion queueInsertion, IErrorRetry errorRetry) { this.argParser = argParser; this.queueRetreival = queueRetreival; this.messageWriter = messageWriter; this.messageReader = messageReader; this.queueInsertion = queueInsertion; this.errorRetry = errorRetry; }
public Program( ArgParser argParser, IQueueRetrieval queueRetrieval, IMessageWriter messageWriter, IMessageReader messageReader, IQueueInsertion queueInsertion, IErrorRetry errorRetry, IConventions conventions) { this.argParser = argParser; this.queueRetrieval = queueRetrieval; this.messageWriter = messageWriter; this.messageReader = messageReader; this.queueInsertion = queueInsertion; this.errorRetry = errorRetry; this.conventions = conventions; }