我正在尝试为物流查询制作一个restful api。
它接受两个参数:shipping_id和tracking_number,并且它将调用第三方API来获取结果并对其进行处理。
不同公司提供的第三方api有几十个,调用哪个取决于shipping_id的值。
我的解决方案是这样的:
将会有一个父类(super class)“LogisticsQueryController”
和许多子类:
'ALogisticsQueryController'、'BLogisticsQueryController'...扩展'LogisticsQueryController'。
并保留 map ('shipping_id'=>'class_dir')。
给定shipping_id后,我可以通过shipping_id获取class_dir,然后使用反射新建一个实例。
但是我听说Java中的反射效率可能很低,那么更好的解决方案是什么?
最佳答案
是的,反射效率低下。我看不出在您的场景中使用反射的任何原因。如何实现工厂设计模式,通过静态工厂方法为每个 Shipping_id 获取特定实现的新实例。
关于java - Java中如何通过参数选择实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42810302/