/// <summary> /// Initializes a new instance of <see cref="AggregateStore"/> using the specified <paramref name="settings"/>. /// </summary> internal AggregateStore(IApplyEvents aggregateUpdater, IStoreSnapshots snapshotStore, IStoreEvents eventStore, IStoreAggregateSettings settings) { Verify.NotNull(settings, nameof(settings)); Verify.NotNull(eventStore, nameof(eventStore)); Verify.NotNull(snapshotStore, nameof(snapshotStore)); Verify.NotNull(aggregateUpdater, nameof(aggregateUpdater)); this.snapshotInterval = settings.SnapshotInterval; this.aggregateUpdater = aggregateUpdater; this.snapshotStore = snapshotStore; this.eventStore = eventStore; }