private IXDBroadcaster CreateNetworkBroadcaster() { var settings = AmazonAccountSettings.GetInstance(); var amazonSnsFacade = new AmazonSnsFacade(settings); var respository = new TopicRepository(settings, amazonSnsFacade); var publishService = new PublisherService(amazonSnsFacade); return new XDAmazonBroadcaster(serializer, publishService, respository); }
internal XDAmazonBroadcaster(ISerializer serializer, IPublisherService publisherService, TopicRepository topicRepository) { serializer.Requires("serializer").IsNotNull(); publisherService.Requires("publisherService").IsNotNull(); topicRepository.Requires("topicRepository").IsNotNull(); this.serializer = serializer; this.publisherService = publisherService; this.topicRepository = topicRepository; }
internal XDAmazonBroadcaster(ISerializer serializer, IPublisherService publisherService, TopicRepository topicRepository) { Validate.That(serializer).IsNotNull(); Validate.That(publisherService).IsNotNull(); Validate.That(topicRepository).IsNotNull(); this.serializer = serializer; this.publisherService = publisherService; this.topicRepository = topicRepository; }
private IXDListener CreateNetworkListener(IIdentityProvider provider) { var settings = AmazonAccountSettings.GetInstance(); var amazonSnsFacade = new AmazonSnsFacade(settings); var amazonSqsFacade = new AmazonSqsFacade(settings); var queuePoller = new QueuePoller(amazonSqsFacade); var resourceCounter = new ResourceCounter(); var respository = new TopicRepository(AmazonAccountSettings.GetInstance(), amazonSnsFacade); var subscriberRepository = new SubscriberRepository(settings, amazonSqsFacade); var subscriptionService = new SubscriptionService( resourceCounter, amazonSnsFacade, amazonSqsFacade, subscriberRepository, queuePoller); return new XDAmazonListener(provider, serializer, respository, subscriberRepository, subscriptionService); }