Может ли фабричный метод DP быть обобщенным c? - PullRequest
0 голосов
/ 30 января 2020

У меня есть вопрос. Фабричный метод - это шаблон проектирования для создания любого объекта, но ему нужны типы перечисления при создании нового экземпляра. Это недостаток для корпоративных приложений, верно?

Я хочу создать обобщенный 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 принципов разработки? Спасибо.

...