public void RegisterCommandHandlersByConvention(IClassLocator classLocator, IContainerBuilder builder) { foreach (var type in classLocator.FindTypesImplementing <ICommandHandler>()) { builder.RegisterAsImplementedInterfaces(type); } }
public void RegisterServicesByConvention(IClassLocator classLocator, IContainerBuilder builder) { foreach (var type in classLocator.FindTypesImplementing <IService>()) { builder.RegisterAsImplementedInterfaces(type); } foreach (var type in classLocator.FindTypesImplementing <IStatefulService>()) { builder.RegisterSingletonAsImplementedInterfaces(type); } }
/// <summary> /// These are stateless services that are fabricated on request. /// </summary> public void RegisterAll(IClassLocator classLocator, IContainerBuilder builder) { RegisterCommandHandlersByConvention(classLocator, builder); RegisterQueryHandlersByConvention(classLocator, builder); RegisterServicesByConvention(classLocator, builder); }
public static void AddLocator(IClassLocator locator) => Instance.Add(locator);
public void Add(IClassLocator locator) { Locators.Add(locator ?? throw new ArgumentNullException(nameof(locator))); }