Я стал ближе знакомиться с Фабричным паттерном (вместе со Стратегическим паттерном) и с тем, какую большую пользу может принести паттерн. Однако я боролся со следующей ситуацией:
Ранее я бы сделал что-то вроде следующего, где есть класс менеджера, который будет строить и сохранять автомобиль. Здесь нет внедрения зависимостей, и это плохая реализация, особенно при попытке модульного тестирования.
public class CarManager
{
public static Car GetCarFromDatabase(int carId) { return new Car(); }
public static void SaveCar(Car car) { }
}
Теперь я вижу, как у меня могут быть разные Factories
, которые собирают машины для меня, будь то из базы данных или где угодно! Это замечательно! Итак, вот мои вопросы:
В1: Насколько я понимаю, Factories
должен только строить объекты, это правильно? Если да, то как насчет моего второго вопроса?
В2: Если я следую заводскому шаблону при создании своих объектов, как мне сохранить свои объекты? Есть ли другой шаблон для этого или я не совсем понимаю Фабричный шаблон?