namespace Common.StartupHelpers; public class AbstractFactory : IAbstractFactory { private readonly Func factory; /// /// Constructor for Abstract Factory. /// /// factory function public AbstractFactory(Func factory) { this.factory = factory; } /// /// Executes factory function and returns instanciated object. /// /// created object public T Create() { return factory(); } }