我有一些旧的验证方法,它们都有一个共同的部分。如何用多种方法优化重复零件
@Service
public class Validator implements IValidator {
@Resource
private CompanyRepository companyRepository;
@Override
public void validA(String paramA, Long id) {
//do some logic processing of the paramA
Company company = companyRepository.load(id);
//convert company to companyDto
CompanyDto companyDto = CompanyParser.fromCompany(company);
//do some logic
}
@Override
public void validB(String paramB, Long id) {
//do some logic processing of the paramB
Company company = companyRepository.load(id);
//convert company to companyDto
CompanyDto companyDto = CompanyParser.fromCompany(company);
//do some logic
}
@Override
public void validC(String paramC, Long id) {
//do some logic processing of the paramC
Company company = companyRepository.load(id);
//convert company to companyDto
CompanyDto companyDto = CompanyParser.fromCompany(company);
//do some logic
}
}
现在,我有一个需要验证在一气呵成许多参数的新方法,如:
validA(paramA, id);
validB(paramB, id);
validC(paramC, id);
如果公司是大,CompanyParser.fromCompany的方法(公司)需要很长时间。
如果我们不修改旧的方法,有没有什么好的方法来优化?
你在问什么?我只能看到每个方法有两行,可能可以将它们抽取到一个常用方法中(假设参数解析没有任何共同之处)。 –
如果'CompanyParser.fromCompany(company)'的结果没有变化,那么考虑存储在一个静态的或有一个Singleton –
@ScaryWombat如果你知道我在问什么,你可以编辑它,使我更清楚 –