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