2013-10-11 86 views
0

的最佳方式我有一個業務邏輯,我需要從我的存儲庫中獲取數據庫中的數據,並將其傳遞給我的存儲庫。這裏是我的功能傳遞參數

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

這是爲什麼標籤與Java時,它是C#? –

+3

我建議你使用Enum,例如:Risk = 1,AcceptedRisk = 2 ...,然後是ids.Add(Risks.Risk); ids.Add(Risk.AcceptedRisk);'所以你不需要記住ID – wudzik

回答

1

你在這裏得到的第一個問題是在一個get上創建一個新的存儲庫,當它應該是一個「單例」並且被注入「依賴注入」或者在構造函數或init方法上創建時。

代碼的其餘部分是好的,我總是_RiskRegisterRepository.GetRiskLevelOfBreakdownItems(ids);是線程安全的