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