static void Main(string[] args) { IConfigurationFactory configFactory = new AppConfigConfigurationFactory(); // IConfigurationFactory configFactory = new DynamoDBConfigurationFactory(); IApiSettings apiSettings = configFactory.GetApiSettings(); IFeedSettings feedSettings = configFactory.GetFeedSettings(); IFeedServiceSettings feedServiceSettings = configFactory.GetFeedServiceSettings(); IS3PublisherSettings s3PublishSettings = configFactory.GetS3PublisherSettings(); IOfflineClientSettings offlineClientSettings = configFactory.GetOfflineClientSettings(); var feedDataClient = new OfflineRareburgClient(offlineClientSettings); var feedService = new RareburgArticleFeedService(feedServiceSettings); var publishService = new S3PublishService(s3PublishSettings, feedSettings); var feedGenerator = CreateFeedGenerator(feedDataClient, feedService, publishService, feedSettings); feedGenerator.Run(); }