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
これらはif/elseステートメントではありません。それらは単に文である。 – mason
これは** working **コードの部分なので、StackOverflowはこの質問を投稿するのに適切な場所ではありません。これは[CodeReview](http://codereview.stackexchange.com)に属しています:http://codereview.stackexchange.com/help/on-topic – Claies