У меня есть вопрос. Фабричный метод - это шаблон проектирования для создания любого объекта, но ему нужны типы перечисления при создании нового экземпляра. Это недостаток для корпоративных приложений, верно?
Я хочу создать обобщенный c Фабричный метод проектирования.
namespace FactoryMethod
{
public interface IFactory<TSuper>
{
TSub New<TSub>() where TSub : TSuper, new();
}
public class ObjectFactory<TSuper> : IFactory<TSuper>
{
public TSub New<TSub>() where TSub : TSuper, new()
=> new TSub();
}
}
И использовать для моего фабричного шаблона дизайна метода:
var factory = new ObjectFactory<Vehicle>();
factory.New<Car>()
.Go();
factory.New<Bike>()
.Go();
Может ли Factory Method быть таким? Подходит ли это для SOLID принципов разработки? Спасибо.