그래서 나는 상황에 따라 실행할 클래스가 들어있는 데이터베이스를 가지고 싶습니다. 다음과 같이 보일 것입니다 :반영하지 않고 실행할 클래스를 결정할 수 있습니다.
id | Description | pricingClass
1 | "static pricing" | staticDeliveryPrice.class
2 | "Dynamic pricing" | dynamicDeliveryPrice.class
내 코드의 유연성을 허용하기위한 것입니다. 내 사고 방식은 배달 방법의 가격을 파악하는 방법을 여러 가지 방법으로 결정할 수 있다는 것입니다.
내가 걱정하는 문제는이 시나리오에서 사용하기에 좋지 않습니까? 그것을 할 수있는 더 좋은 방법이 있습니까? 그것은 견고한 원칙을 따르고 있습니까 (나는 그렇다고 말하고 싶지만, 나에 대해서는 동의하지 않습니다).
왜 기본 DeliveryPrice 클래스를 만들고 DynamicDeliveryPrice 클래스와 StaticDeliveryPrice 클래스를 확장하여 고유의 전달 메소드를 구현해야합니다. 동일한 메소드를 호출하는 DeliveryPrice 객체가 포함 된 데이터 구조 만 있으면됩니다. 왜 모든 작업이 객체 유형을 문자열/클래스에 매핑합니까? –
반사가 나쁘지 않습니다. 필요한 경우 사용하십시오. – ZhongYu
@RAZ_Muh_Taz 모든 deliveryClass가 인터페이스를 사용하여 메소드를 미리 정의 할 계획입니다. 그러나 나는 여전히 배달 물량을 결정하기 위해 가격 객체가 필요합니까? – Harry