首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何应用设计模式来替换以下代码的Switch条件代码?

如何应用设计模式来替换以下代码的Switch条件代码?
EN

Stack Overflow用户
提问于 2018-07-31 01:51:41
回答 1查看 0关注 0票数 0

我在下面的实现中找到了cardType。

代码语言:javascript
复制
public enum CardType{
CREDIT,DEBIT , LOYALTY;

}

代码语言:javascript
复制
class CardTypeChecker{
public String getCardTypeInString(CardType cardType) {
    return  convert(cardType)
}

protected String convert(CardType cardType) {
    switch (cardType) {
    case CREDIT:
        return CardType.CREDIT.name();
    case DEBIT:
        return CardType.DEBIT.name();
    case LOYALTY:
        return CardType.LOYALTY.name();
    default:
        throw new IllegalArgumentException("Provided CardType is NOT available.");
    }
}
}

现在我想知道我如何应用设计模式来消除switch语句的代码。

EN

回答 1

Stack Overflow用户

发布于 2018-07-31 11:45:06

试试这个样本,虽然它是在c#中,但它应该给出要点。

代码语言:javascript
复制
public enum CardType{
    CREDIT,DEBIT , LOYALTY;
}    
class CardTypeChecker
{
    Dictionary<CardType, string> dictionary = new Dictionary<CardType, string>();

    public CardTypeChecker()
    {
        dictionary.Add(CardType.CREDIT, CardType.CREDIT.ToString());
        dictionary.Add(CardType.DEBIT, CardType.DEBIT.ToString());
        dictionary.Add(CardType.LOYALTY, CardType.LOYALTY.ToString());
    }

    public String getCardTypeInString(CardType cardType)
    {
        return dictionary[cardType];
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档