diff --git a/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs b/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs index 7690629..f5549ff 100644 --- a/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs +++ b/src/PatternKit.Examples/DependencyInjection/PatternKitExampleServiceCollectionExtensions.cs @@ -267,7 +267,16 @@ public static IServiceCollection AddPaymentProcessorDecoratorExample(this IServi public static IServiceCollection AddPosAppStateSingletonExample(this IServiceCollection services) { - services.AddSingleton(_ => PosAppStateDemo.BuildLazy()); + services.AddSingleton(_ => Singleton + .Create(static () => new PosAppState + { + Config = StoreConfig.Load(), + Pricing = new PricingCache(), + Devices = new DeviceRegistry() + }) + .Init(static state => state.Pricing.Prewarm(["SKU-1", "SKU-2", "SKU-3"])) + .Init(static state => state.Devices.ConnectAll()) + .Build()); services.AddSingleton(sp => new(sp.GetRequiredService>())); return services.RegisterExample("POS App State Singleton", ExampleIntegrationSurface.LibraryOnly | ExampleIntegrationSurface.DependencyInjection); }