Представьте, что я разработчик программного обеспечения на Java для производителя автомобилей.Мне было поручено создать библиотеку, которая будет использоваться многочисленными внутренними приложениями.Для каждого типа модели автомобиля я создаю объект Java, представляющий эту модель.Я должен быть в состоянии отслеживать не только текущие модели, но и модели-прототипы.У прототипов моделей будет одно имя, которое, скорее всего, изменится, как только оно поступит в производство.Мне нужно иметь возможность использовать библиотеку для учета прототипов и гибкости при смене имени, когда они переводятся в производство.
У меня вопрос: какой подход лучше для этого?
Вот мои мысли ...
Я читал несколько книг для идей, как лучше всего справиться с этой ситуацией.Сразу же мой разум переходит к использованию заводского шаблона.У меня был бы класс CarModelFactory, который возвращал бы конкретный объект для каждой модели.Например:
public class CarModelFactory() {
public CarModel createCivicModel() {}
public CarModel createAccordModel() {}
public CarModel createPrototype1() {
return new ModelX();
}
public CarModel createPrototype1() {
return new ModelY();
}
Это будет лучшим подходом?Я чувствую, что должен быть еще один уровень абстракции.Я вижу следующие проблемы:
1) Что если ModelX войдет в производство, я создам для него метод и добавлю что-то еще в метод createPrototype1, теперь программы, вызывающие этот метод, получают неправильный объект
2) Как мне обращаться с ModelX, меняя свое имя?
Я благодарю вас за потраченное время!