Работайте на C# 4.5. Мой сингл синтаксиса так много, если в других сериях кажется, что запах кода, нужен способ избежать этого запаха. Любая помощь будет приемлемой. СпасибоКак избежать повторения, если код остаточного кода еще
public bool CheckValidCustomer()
{
return _checkManager.IsCustomerPersonal(_customer) ? IsValidPersonalCustomer() : IsValidCompanyCustomer();
}
private bool IsValidCompanyCustomer()
{
if (_checkManager.IsValidFinancialInfo(_customer) == false)
{
ProcessMessage = "Please Check Financial Info.";
return false;
}
if (_checkManager.IsValidCompanyInfo(_customer) == false)
{
ProcessMessage = "Please Check Company Info.";
return false;
}
if (_checkManager.IsValidStakeHolderInfo(_customer) == false)
{
ProcessMessage = "Please Check Stake Holder Info.";
return false;
}
if (_checkManager.IsValidResponsiblePersonInfo(_customer) == false)
{
ProcessMessage = "Please Check Responsible person Info.";
return false;
}
if (_checkManager.IsValidScreeningInfo(_customer) == false)
{
ProcessMessage = "Please Check Screening Info .";
return false;
}
if (_checkManager.IsValidMyNumberUpload(_customer) == false)
{
ProcessMessage = "Please Check My Number Upload Info.";
return false;
}
if (_checkManager.IsValidIdUpload(_customer) == false)
{
ProcessMessage = "Please Check Id Upload Status.";
return false;
}
if (_checkManager.IsValidCustomerStatus(_customer) == false)
{
ProcessMessage = "Please Check Customer Status.";
return false;
}
return true;
}
private bool IsValidPersonalCustomer()
{
if (_checkManager.IsValidPersonalInfo(_customer)==false)
{
ProcessMessage = "Please Check Personal Info.";
return false;
}
if (_checkManager.IsValidFinancialInfo(_customer)==false)
{
ProcessMessage = "Please Check Financial Info.";
return false;
}
if (_checkManager.IsValidCompanyInfo(_customer)==false)
{
ProcessMessage = "Please Check Company Info.";
return false;
}
return true;
}
Реализовать "ValidateCompanyCustomer" какой-то в чеке менеджера. Внедрите каждый «IsValidCompanyInfo» в качестве валидатора «Стратегия». Каждая стратегия валидатора может реализовать метод «Проверить». Тогда менеджер проверки будет иметь IEnumerable стратегий проверки достоверности, с которыми он проходит. Затем вы также сможете протестировать каждую стратегию валидатора отдельно. – bgura
Это не так, если/else. Это просто заявления. – mason
, так как это ** рабочий код **, StackOverflow не подходит для размещения этого вопроса. Это относится к [CodeReview] (http://codereview.stackexchange.com): http://codereview.stackexchange.com/help/on-topic – Claies