Так что я в ситуации, когда хочу иметь базу данных объектов, содержащих классы для запуска. Это будет выглядеть примерно так:Без отражения можно определить класс для запуска
id | Description | pricingClass
1 | "static pricing" | staticDeliveryPrice.class
2 | "Dynamic pricing" | dynamicDeliveryPrice.class
Целью этого является обеспечение гибкости в моем кодировании. Моя мысль состоит в том, что это позволит использовать несколько способов определения того, как определить цену метода доставки.
Проблема, о которой я беспокоюсь, является отражением плохого использования в этом сценарии? Есть ли лучший способ сделать это? Является ли это следованием твердым принципам (я бы сказал, да, но часть меня не согласна).
Почему бы не создать базовый класс DeliveryPrice и иметь классы DynamicDeliveryPrice и StaticDeliveryPrice, расширяющие его, чтобы реализовать свой собственный метод доставки. то все, что вам нужно - это структура данных, содержащая объекты DeliveryPrice, на которые вы вызываете тот же метод. почему вся работа по отображению типов объектов в строку/класс? –
Отражение не плохо. Используйте его, если вам это нужно. – ZhongYu
@RAZ_Muh_Taz Я планирую, чтобы весь мой класс доставки использовал интерфейс для предопределения методов. Но должен ли мне по-прежнему нужен мой ценовой объект, чтобы определить, какую цену доставки он использует? – Harry