我想在TA-Lib中实现以下类的所有 cdl(烛台图案)方法 。
大约有 61 种 cdl 分析方法,其中大约 90% 具有相似的签名,只是它们的核心实现不同。
例如:
public RetCode cdl2Crows(int startIdx,
int endIdx,
double inOpen[],
double inHigh[],
double inLow[],
double inClose[],
MInteger outBegIdx,
MInteger outNBElement,
int outInteger[])
public RetCode cdl3BlackCrows(int startIdx,
int endIdx,
double inOpen[],
double inHigh[],
double inLow[],
double inClose[],
MInteger outBegIdx,
MInteger outNBElement,
int outInteger[])
我在想是否可以将方法名称作为源类的参数传递,然后使用反射调用方法以避免重复代码
public invokeAnalytic(String analyticMethodName, common params .....)
{
// using reflection invoke analyticMethodName of Core class
// and pass rest of the params
}
- 在这种情况下,Java 中最好的设计模式是什么?
- 如果我在这种情况下使用反射,会不会出现性能问题?