public void Compose(IBuilder builder) { #if NETFRAMEWORK // Register settings builder.Register <VendrReviewsSettings>(Lifetime.Singleton); // Register API builder.Register <VendrReviewsApi>(Lifetime.Singleton); // Register factories builder.RegisterUnique <IReviewRepositoryFactory, ReviewRepositoryFactory>(); // Register services builder.Register <ReviewService>(Lifetime.Singleton); // Register event handlers builder.AddVendrReviewsEventHandlers(); // Register component builder.Components() .Append <VendrReviewsComponent>(); #else // If Vendr Reviews hasn't been added manually by now, // add it automatically with the default configuration. // If Vendr Reviews has already been added manully, then // the AddVendrReviews() call will just exit early. builder.AddVendrReviews(); #endif }
/// <summary> /// Registers a unique service with an implementation type. /// </summary> public static void RegisterUnique <TService, TImplementing>(this Composition composition) => composition.RegisterUnique(typeof(TService), typeof(TImplementing));
/// <summary> /// Registers a unique service with an implementing instance. /// </summary> public static void RegisterUnique <TService>(this Composition composition, TService instance) => composition.RegisterUnique(typeof(TService), instance);
/// <summary> /// Registers a unique service as its own implementation. /// </summary> public static void RegisterUnique <TService>(this Composition composition) => composition.RegisterUnique(typeof(TService), typeof(TService));