using System; namespace AutoCat.Utils; public interface IAbstractFactory { T Create(); } public class AbstractFactory : IAbstractFactory { private readonly Func _factory; public AbstractFactory(Func factory) { _factory = factory; } public T Create() { return _factory(); } }