例如,一个 csv 文件包含信用卡记录,我想确定它是什么类型的信用卡?我对策略和模板设计模式感到困惑
信用卡种类相当有限,标准信用卡就这么多。如果您试图确定它是什么类型的信用卡,一种方法是使用接口来表示信用卡,然后使用枚举来表示可能有限数量的卡。
public interface CreditCard {
}
enum StandardCreditCard implements CreditCard {
MASTERCARD,
AMERICAN_EXPRESS,
BANK_OF_AMERICA
}
这种方法的优点是它快速且肮脏。枚举默认使用 multiton 模式。每个元素都是 CreditCard 类型,但如果需要,您将来仍然可以添加更多信用卡。
interface MyOtherCreditCard extends CreditCard {
}