В моем приложении C #, MVVM, я принял код, который генерирует объект класса.Учитывая требование, которое мне передали, мне может потребоваться создать несколько объектов на основе значения.Поэтому я решил провести рефакторинг генерации классов, используя шаблон фабрики, и это сработало для этого требования.Когда я приступил к выполнению задачи, возникло больше требований, которые включают создание объекта не только с помощью исходной строковой переменной, но и с помощью логической переменной.В дополнение к этим переменным, параметр должен быть передан в объект, что, я думаю, я должен сделать путем внедрения зависимости.Мой вопрос заключается в том, должен ли я использовать шаблон Factory в данный момент или что-то еще.Как включить булеву переменную и параметр в любой рекомендуемый шаблон проектирования.Пример кода того, что я использую, приведен ниже.
public abstract class PivotRequestFactory
{
public abstract PivotRequest GetPivotRequest();
}
public class ConcretePivotRequestFactory : PivotRequestFactory
{
public ConcretePivotRequestFactory()
{
}
public override PivotRequest GetPivotRequest()
{
try
{
return new PivotRequest();
}
catch (Exception ex)
{
throw;
}
}
}
private PivotRequest GetPivotRequest(string DataSetName)
{
PivotRequestFactory factory = null;
try
{
switch (DataSetName)
{
case DatasetNames.Default:
if (IsTrue) { factory = new ConcretePivotRequestFactory(); }
else { factory = new ConcretePivotRequestFactory2); }
break;
case DatasetNames.SoSo:
if (IsTrue) { factory = new ConcretePivotRequestFactory3(); }
else { factory = new ConcretePivotRequestFactory4(); }
break;
default:
break;
}
}
catch (Exception)
{
throw;
}
return factory.GetPivotRequest();
}