小编muk*_*ngh的帖子

需要有关接口的建议

我只是需要一些关于我想解决的问题的反馈......

以下是对问题的描述:

我公司销售一些客户可以在一段时间内支付的产品.客户被归类为现有或新的.为了让顾客购买产品,我们检查信誉,有时可以要求客户存入保证金,可以退还.有些客户与我们有良好的付款记录,因此我们无需向他们收取保证金金额.为了实施评估,我设计了一个解决方案如下:

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)

c# design-patterns interface

8
推荐指数
1
解决办法
165
查看次数

标签 统计

c# ×1

design-patterns ×1

interface ×1