У меня есть класс, который имеет большой метод, который вызывает много частных методов. Я думаю, что хочу извлечь эти частные методы в свои собственные классы для одного, потому что они содержат бизнес-логику, и я думаю, что они должны быть открытыми, чтобы их можно было тестировать модулем.
Вот пример кода:
public void handleRow(Object arg0) {
if (continueRunning){
hashData=(HashMap<String, Object>)arg0;
Long stdReportId = null;
Date effDate=null;
if (stdReportIds!=null){
stdReportId = stdReportIds[index];
}
if (effDates!=null){
effDate = effDates[index];
}
initAndPutPriceBrackets(hashData, stdReportId, effDate);
putBrand(hashData,stdReportId,formHandlerFor==0?true:useLiveForFirst);
putMultiLangDescriptions(hashData,stdReportId);
index++;
if (stdReportIds!=null && stdReportIds[0].equals(stdReportIds[1])){
continueRunning=false;
}
if (formHandlerFor==REPORTS){
putBeginDate(hashData,effDate,custId);
}
//handle logic that is related to pricemaps.
lstOfData.add(hashData);
}
}
Какой шаблон проектирования я должен применить к этой проблеме?