Skip to content

Instantly share code, notes, and snippets.

@aidanmorgan
Created June 23, 2011 10:34
Show Gist options
  • Save aidanmorgan/1042321 to your computer and use it in GitHub Desktop.
Save aidanmorgan/1042321 to your computer and use it in GitHub Desktop.
public class WhiskeyServiceBuilder : IServiceBuilder<IWhiskeyService>
{
private static WhiskeyServiceBuilder _instance;
public static WhiskeyServiceBuilder CreateDecoratedService(IServiceFactory factory, INotificationService n, IDistributedLogFactory logFactory, IWhiskeyService w)
{
return _instance ?? (_instance = new WhiskeyServiceBuilder(factory, n, logFactory, w));
}
private readonly INotificationService _notificationService;
private readonly IWhiskeyService _whiskeyService;
private readonly IServiceFactory _serviceFactory;
private readonly IDistributedLogFactory _logFactory;
private WhiskeyServiceBuilder(IServiceFactory factory, INotificationService not, IDistributedLogFactory logFactory, IWhiskeyService whis)
{
_notificationService = not;
_whiskeyService = whis;
_serviceFactory = factory;
_logFactory = logFactory;
}
public IWhiskeyService BuildService(ServiceContext context)
{
return new WrappedWhiskeyService(_serviceFactory, context, _notificationService, _logFactory, _whiskeyService);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment