У меня есть интерфейс Fruit с двумя реализациями Apple и Banana. Я хочу создать экземпляр Fruit. Пользователь должен сделать выбор, должна ли конкретная реализация быть Apple или Banana. Я еще не разработал пользовательский интерфейс, поэтому нет никаких ограничений в отношении того, как этот выбор сделан пользователем.
Я знаю, что есть следующие варианты:
- использование абстрактного шаблона factory
- использование отражения для создания экземпляра из имени данного класса
- использование отражения для создания экземпляра из данного объекта класса
Каковы плюсы и минусы этих опций?
Обратите внимание, что, хотя есть несколько аналогичных вопросов, которые обсуждают тот или иной подход, я не нашел ни одного сравнения.
Вот список связанных вопросов: