假设我在ProjectA中有一个名为Human的类。在同一项目的CreatureBuilder类中实例化它。
现在我想在另一个项目ProjectB中创建一个名为Cyborg的新类。 ProjectB在其导入中拥有ProjectA,但ProjectA对ProjectB一无所知。
Cyborg扩展了Human,并且必须由ProjectA的CreatureBuilder实例化(因此,Cyborg位于ProjectB中,我从ProjectB调用CreatureBuilder来实例化Cyborg,但CreatureBuilder也位于ProjectA中,以及我的Human类)。
当从ProjectA实例化CreatureBuilder时,我需要一个逻辑来创建Human,当从ProjectB实例化CreatureBuilder时,需要创建Cyborg。
我认为可以通过在ProjectA中创建具有getCreature()方法的接口来实现。这个方法将在ProjectB中被重写以返回new Cyborg,然后传回ProjectA的CreatureBuilder。还有其他建议吗?你认为什么是最好的解决方法?我可以使用反射API吗?
干杯!
现在我想在另一个项目ProjectB中创建一个名为Cyborg的新类。 ProjectB在其导入中拥有ProjectA,但ProjectA对ProjectB一无所知。
Cyborg扩展了Human,并且必须由ProjectA的CreatureBuilder实例化(因此,Cyborg位于ProjectB中,我从ProjectB调用CreatureBuilder来实例化Cyborg,但CreatureBuilder也位于ProjectA中,以及我的Human类)。
当从ProjectA实例化CreatureBuilder时,我需要一个逻辑来创建Human,当从ProjectB实例化CreatureBuilder时,需要创建Cyborg。
我认为可以通过在ProjectA中创建具有getCreature()方法的接口来实现。这个方法将在ProjectB中被重写以返回new Cyborg,然后传回ProjectA的CreatureBuilder。还有其他建议吗?你认为什么是最好的解决方法?我可以使用反射API吗?
干杯!