以下のクラスのすべての cdl (ローソク足パターン) メソッドを TA-Libに実装したいと考えています。
約 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 の最適な設計パターンは何ですか?
- このようなシナリオでリフレクションを使用すると、パフォーマンスの問題が発生しますか?