我真的找不到如何决定哪个选项是最好的。我有一个“产品”类,其中包含要喂养的动物的“推荐年龄”,以及其他属性。
请注意,我只想要每个物种的RecommendedAge 的不同值,我不关心它们的数值等价物(用区分联合表示什么,但由于ORM 问题我不能使用它)。
由于“RecommendedAge”可能的值因 Animal de Product 目标的类型而异,我不知道以下哪种(或任何其他)方法是最好的(所有伪代码):
Class Product {
Id id;
String name;
RecommendedAge recommendedAge;
}
AbstractClass RecommendedAge {
}
Class DogRecommendedAge : RecommendedAge {
readonly const Int Big;
readonly const Int Small;
}
Class CatRecommendedAge : RecommendedAge {
readonly const Int Medium;
readonly const Int Tiny;
}
或类似的东西:
AbstractClass Product {
Id id;
String name;
}
Enum DogRecommendedAge {
Big = 0;
Small = 1;
}
Enum CatRecommendedAge {
Medium = 0;
Tiny= 1;
}
Class DogProduct : Product {
DogRecommendedAge dogRecommendedAge;
}
Class CatProduct : Product {
CatRecommendedAge catRecommendedAge;
}
这可能是一个非常愚蠢的,但我被困住了。谢谢你们。