static async Task Main(string[] args) { var queue = new SimpleEventQueue(); var simpleLog = new SimpleConsoleLog(); using (var unitOfWork = new MovienUnitOfWork()) { await unitOfWork.Setup(); var cache = new Cache(unitOfWork.WebPages); using (var cachingService = new CachingService(queue, cache)) using (var loader = new LoaderService(queue, throttling: TimeSpan.FromSeconds(1), simpleLog, cache)) { var lostFilmLoader = new LostFilmParserService(queue); var lostFilmSeriesLoader = new LostFilmSeriesesLoader(queue); lostFilmSeriesLoader.Start(); Console.ReadLine(); } } }
// Just a preference style: // I like to use 'using static' feature // and be able to call the log simple as that: // LOG(LogLevel.VERBOSE, "Hi"); public static void LOG(LogLevel logLevel, string message) { // Here we can extend to use filters, use dependence injection, etc.. // Now just creating a simple console log that works SimpleConsoleLog.Log(logLevel, message); }