我有一个业务逻辑,我需要从我的存储库中获取数据,我将传递给我的存储库。这是我的功能
public List<RiskLevelOfBreakdownItemsDto> GetRiskLevelOfBreakdownItems()
{
_RiskRegisterRepository = new RiskRegisterEntryRepository();
List<int> ids = new List<int>();
ids.Add(1); // 1 is for all open Risk
ids.Add(2); // 2 is for all accepted Risk
var riskLevel = _RiskRegisterRepository.GetRiskLevelOfBreakdownItems(ids);
return riskLevel;
}
我知道上面的代码违反了SOLID原则。 执行上述代码的最佳方法是什么?
答案 0 :(得分:1)
你遇到的第一个问题是在get上创建一个新的存储库,它应该是一个“singleton”并且是“dependecy inject”或者是在构造函数或init方法上创建的。
代码的其余部分对我来说总是_RiskRegisterRepository.GetRiskLevelOfBreakdownItems(ids);
是线程安全的