我只是需要一些关于我想解决的问题的反馈......
以下是对问题的描述:
我公司销售一些客户可以在一段时间内支付的产品.客户被归类为现有或新的.为了让顾客购买产品,我们检查信誉,有时可以要求客户存入保证金,可以退还.有些客户与我们有良好的付款记录,因此我们无需向他们收取保证金金额.为了实施评估,我设计了一个解决方案如下:
public interface ICreditAssessor
{
CreditAssessment Process();
Decimal CalculateBond(BondCalculator bc);
}
Run Code Online (Sandbox Code Playgroud)
定义了两个实现此接口的类.
public class GoodClientProcessor : ICreditAssessor{
..... methods
}
public class OtherClientProcessor : ICreditAssessor{
..... methods
}
Run Code Online (Sandbox Code Playgroud)
根据客户是否与我们有良好的付款历史记录,有一个类返回适当的处理器.
另外,我实现了BondCalculator如下:
public class BondCalculator
{
List<IRiskEvaluator> riskEvaluators;
public BondCalculator()
{
riskEvaluators = new List<IRiskEvaluator>();
}
public Decimal GetSuggestedBond()
{
Decimal riskAmount = 0;
foreach (IRiskEvaluator ire in riskEvaluators)
{
Decimal tempRisk = ire.EvaluateRisk();
if (tempRisk > riskAmount)
{
riskAmount = tempRisk;
}
}
return riskAmount;
}
public …Run Code Online (Sandbox Code Playgroud)