У меня есть класс, который должен взять информацию о продукте из базы данных одной системы и сохранить ее в базе данных продукта другой системы.
Я позвоню продукту из первой системы Продукт A и другой Продукт B. Данные продукта B зависят от настроек, выбранных пользователем.
Таким образом, у продукта B может быть метод GetDescription, который просматривает пользовательский параметр, который говорит, что использовать переменную Description1 из продукта A, или они могут выбрать описание 2, или они могут использовать описание уже в продукте B.
Это нормально, но есть много настроек и способов получить описание. Это проблема, у меня есть много методов, которые, кажется, все относятся к продукту B. Методы, такие как GetDescription, GetName, GetSku, которые все установлены в соответствии с настройками пользователя и все зависят от продукта A.
Хотя все они, похоже, относятся к продукту B, класс становится очень большим, и я хочу перенести некоторые методы из класса в другой класс. Я думал об использовании шаблона Factory. Нечто вроде ниже (код просто идея)
public class ProductBuilder
{
public ProductB BuildProduct()
{
SkuBuilder.BuildSku(ProductB,ProductA);
ProductDescriptionBuilder.BuildDescription(ProductB,ProductA);
}
}
Мои вопросы: каков хороший дизайн для этого? Является ли метод, предложенный мной выше, приемлемым? Видите ли вы какие-либо потенциальные проблемы с этим дизайном?